1、定义一个程序员类Coder类,包含以下属性:
    姓名 name [String类型]
年龄 age  [int 类型]
工资 salary [int类型]
生成 空参、满参构造方法,get/set方法
特有行为 编程  programme()
2、定义测试类Test
   在测试类中定义一个 showInfo(ArrayList<Coder> list)方法
      方法主要功能描述如下:
    统计出集合list中年龄不大于35岁的程序员,将其工资增加2000元
同时调用 programme()方法
  打印格式如下:
     年龄为33岁张三,原工资为12000
 涨薪后工资为14000  
在main方法中创建四个Coder对象,要求所有的属性是通过键盘录入的格式进行录入
   比如:
      请输入第1个Coder对象的信
    张三,34,8000  
              PS:(键盘录入学生信息的时候是用逗号隔开的)
 
      将创建的对象存入到集合ArrayList中
          调用show方法,最后在控制台打印输出满足条件的Coder的信息

解决方案 »

  1.   

    Coder 如下:public class Coder {
    private String name;
    private int age;
    private int salary;

    public Coder() {
    }

    public Coder(String name,int age,int salary) {
    this.name= name;
    this.age= age;
    this.salary= salary;
    }

    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public int getSalary() {
    return salary;
    }
    public void setSalary(int salary) {
    this.salary = salary;
    }

    public void programme() {
    System.out.println("年龄为"+age+"岁"+name+", 原工资为"+salary);
    }

    }
    Test Class:import java.util.ArrayList;public class Test {

    public void showInfo(ArrayList<Coder> list) {
    for(Coder e: list) {
    if(e.getAge() <= 35) {
    e.programme();
    e.setSalary(e.getSalary() +2000);
    System.out.println("涨薪后工资为"+e.getSalary());
    }
    }
    } public static void main(String[] args) {
    //测试参数:
    args = new String[] {"张三,26,8000","李四,27,8000","王五,30,9000","小六,36,10000"};
    if(args ==null || args.length <4) {
    System.out.println("PS:(键盘录入4个学生信息的时候是用逗号隔开),格式: name1,age1,salary1  name2,age2,salary2....");
    return;
    }
    ArrayList<Coder> list = new ArrayList<Coder>();
    for(String str: args) {
    String[] parm = str.split(",");
    Coder coder =  new Coder(parm[0], Integer.valueOf(parm[1]), Integer.valueOf(parm[2]));
    list.add(coder);
    }
    Test test = new Test();
    test.showInfo(list);
    }}//结果:
    年龄为26岁张三, 原工资为8000
    涨薪后工资为10000
    年龄为27岁李四, 原工资为8000
    涨薪后工资为10000
    年龄为30岁王五, 原工资为9000
    涨薪后工资为11000
      

  2.   


    package crc;public class Coder {    private String name;    private int age;    private int salary;    /**
         * 无参数构造
         */
        public Coder() {
        }    /**
         * 满参数构造器
         */
        public Coder(String name, int age, int salary) {
            this.name = name;
            this.age = age;
            this.salary = salary;
        }    public void programme() {
            System.out.println(String.format("年龄为%s岁%s,原工资为%s", this.age, this.name, this.salary));
        }
        public String getName() {
            return name;
        }    public void setName(String name) {
            this.name = name;
        }    public int getAge() {
            return age;
        }    public void setAge(int age) {
            this.age = age;
        }    public int getSalary() {
            return salary;
        }    public void setSalary(int salary) {
            this.salary = salary;
        }
    }package crc;import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;public class Test {    public static void main(String[] args) {
            List<Coder> list = new ArrayList<>();
            BufferedReader reader = null;
            try {
                reader = new BufferedReader(new InputStreamReader(System.in));
                for (int i = 0; i < 4; i++) {
                    System.out.println(String.format("请输入第%s个Coder!", i + 1));
                    Coder coder = builderCoder(reader.readLine());
                    if (null == coder) return;
                    list.add(coder);
                }
                Test test = new Test();
                test.showInfo(list);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (null != reader) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }    private static Coder builderCoder(String info) {
            if (null == info || "".equals(info)) return null;
            String[] params = info.split(",");
            return new Coder(params[0], Integer.parseInt(params[1]), Integer.parseInt(params[2]));    }    public void showInfo(List<Coder> list) {
            list.forEach(coder -> {
                if (coder.getAge() <= 35) {
                    coder.programme();
                    coder.setSalary(coder.getSalary() + 2000);
                    System.out.println(String.format("涨薪后的薪水为%s", coder.getSalary()));
                }
            });
        }
    }//结果
    请输入第1个Coder!
    张三,22,9000
    请输入第2个Coder!
    李四,23,12000
    请输入第3个Coder!
    王五,29,18000
    请输入第4个Coder!
    赵六,31,20000
    年龄为22岁张三,原工资为9000
    涨薪后的薪水为11000
    年龄为23岁李四,原工资为12000
    涨薪后的薪水为14000
    年龄为29岁王五,原工资为18000
    涨薪后的薪水为20000
    年龄为31岁赵六,原工资为20000
    涨薪后的薪水为22000