黑马程序员训练营入学考试题

时间:2021-08-04 21:47:01

/**
 * 2、假如我们在开发一个系统时需要对员工进行建模,
 * 员工包含 3 个属性:姓名、工号以及工资。
 * 经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。
 * 请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。
 */
package com.itheima;
class Employee{
 private String name;
 private int num;
 private double sal;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getNum() {
  return num;
 }
 public void setNum(int num) {
  this.num = num;
 }
 public double getSal() {
  return sal;
 }
 public void setSal(int sal) {
  this.sal = sal;
 }
}
class Manager extends Employee{
 private double prize;

 public double getPrize() {
  return prize;
 }

 public void setPrize(double prize) {
  this.prize = prize;
 }
 
}
public class Test2 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub

 }

}

 

/**
 * 3、编写一个类,在main方法中定义一个Map对象(采用泛型),
 * 加入若干个对象,然后遍历并打印出各元素的key和value。
 */
package com.itheima;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Test3 {
 public static void main(String[] args) {
  Map<String,Integer> map=new HashMap<String,Integer>();
  map.put("壹", 1);
  map.put("贰", 2);
  map.put("叁", 3);
  map.put("肆", 4);
  map.put("伍", 5);
  //将Map集合转化为Set集合,目的是为了使用iterator()方法
  Set<Map.Entry<String,Integer>> set=map.entrySet();
  Iterator<Map.Entry<String,Integer>> iter=set.iterator();
  while(iter.hasNext()){
   //取的每个对象都是Map.Entry类型
   Map.Entry<String, Integer> me=iter.next();
   System.out.println(me.getKey()+"="+me.getValue());
  }
 }
}

 

/**
 * 4、假设迟到两次以内不扣款,从第三次开始依次扣10,20,30………编写一个方法传入迟到的次数返回所扣的金额
PS:比如说一个人迟到了5次那么所扣的金额是:0+0+10+20+30=60元
 */
package com.itheima;

import java.util.Scanner;

public class Test4 {
 public static final int N=2;
 public static void main(String[] args) throws Exception{
  Scanner input=new Scanner(System.in);
  do{
   System.out.println("请输入迟到次数:");
   int num=input.nextInt();
   System.out.println("您输入的迟到次数为"+num);
   if(num>2){
    System.out.println("应处罚金为:"+amerce(num)+"元。");
   }else{
    System.out.println("恭喜,没有处罚。");
   }
   System.out.println("还继续输入吗,y/n");
   String str=input.nextLine();//此行应该是没用,但是如果不加就没办法继续输入了,下行if中的input.nextLine()用str代替后也没办法输入,暂时不知,待解
   if(!input.nextLine().equalsIgnoreCase("y")){
    break;
   }
  }while(true);
  
 }
 public static int amerce(int a){
  return (int) ((a-N+1)*(a-N)/2*10);
 }
}