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的信息
姓名 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的信息
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
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