输入若干员工信息并解析为若干对象输出

来源:互联网 发布:怎么关淘宝店铺 编辑:程序博客网 时间:2024/06/04 01:28

输入若干员工信息并解析为若干对象输出

要求:

/**
 * 要求用户输入若干员工信息,格式为:
 * name,age,gender,salary;name,age,gender,salary;....
 * 例如:
 * 张三,25,男,5000;李四,26,女,6000;...
 * 然后将每个员工信息解析成Person对象。并存入到一个数组中。
 * 然后循环数组,输出每一个员工信息(输出使用toString返回的字符串)
 */

代码如下:Person类

public class Person {private String name;private int age;private String gender;private double salary;public Person(){}public Person(String name,int age,String gender,double salary){this.name = name;this.age = age;this.gender = gender;this.salary = salary;}public static void main(String[] args) {Person p = new Person("张三",25,"男",5000);System.out.println(p.toString());}/**重写toString()方法*/public String toString(){return name+","+age+","+gender+","+salary;}/**重写equals()方法*/public boolean equals(Object obj){if(obj == null){return false;}if(obj == this){return true;}if(obj instanceof Person){Person per = (Person)obj;return this.name.equals(obj);}return false;}}
代码如下:测试类

public class Test08 {private String name;private int age;private String gender;private double salary;public Test08(){}public Test08(String name,int age,String gender,double salary){this.name = name;this.age = age;this.gender = gender;this.salary = salary;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入员工信息:");String input = scan.nextLine();//接收信息name,age,gender,salary;name,age,gender,salary;....//String[] inputArr = input.split(";");//Person[] per = new Person[inputArr.length];//建立多个Person对象//for(int i=0;i<inputArr.length;i++){//String[] perArr = inputArr[i].split(",");//String name = perArr[0];//int age = Integer.parseInt(perArr[1]);//将String转换为相应类型//String gender = perArr[2];//double salary = Double.parseDouble(perArr[3]);//将String转换为相应类型//per[i] = new Person(name,age,gender,salary);//将每个员工信息解析成Person对象。并存入到一个数组中。//}Person[] per =check(input); for(int i=0;i<per.length;i++){System.out.println(per[i]);}}public String toString(){return name+","+age+","+gender+","+salary;}public static Person[] check(String input){String[] inputArr = input.split(";");Person[] per = new Person[inputArr.length];//建立多个Person对象for(int i=0;i<inputArr.length;i++){String[] perArr = inputArr[i].split(",");String name = perArr[0];int age = Integer.parseInt(perArr[1]);//将String转换为相应类型String gender = perArr[2];double salary = Double.parseDouble(perArr[3]);//将String转换为相应类型per[i] = new Person(name,age,gender,salary);//将每个员工信息解析成Person对象。并存入到一个数组中。}for(int i=0;i<per.length;i++){System.out.println(per[i]);}return per;}}

在测试类中,可以将部分代码进行封装成方法这样主方法里面的代码就会更少

输出结果为:

请输入员工信息:张三,25,男,5000;李四,26,女,6000;张三,25,男,5000;李四,26,女,6000;张三,25,男,5000.0李四,26,女,6000.0张三,25,男,5000.0李四,26,女,6000.0张三,25,男,5000.0李四,26,女,6000.0张三,25,男,5000.0李四,26,女,6000.0



0 0
原创粉丝点击