类似的东西,但使用2D数组输入姓名,年龄,性别,并找到用户输入的最老的人。
List<String> list = new ArrayList<String>();
Scanner stdin = new Scanner(System.in);
do {
System.out.println("Current list is " + list);
System.out.println("Add more? (y/n)");
if (stdin.next().startsWith("y")) {
System.out.println("Enter : ");
list.add(stdin.next());
} else {
break;
}
} while (true);
System.out.println("List is " + list);
String[] arr = list.toArray(new String[0]);
System.out.println("Array is " + Arrays.toString(arr));
答案 0 :(得分:0)
您应该创建一个Person
类,其中包含age
,name
,gender
等属性,并且应该实现Comparable
接口。
人员类
class Person implements Comparable{
String name;
String gender;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Object arg0) {
Person p = (Person)arg0;
return p.getAge() - this.getAge();
}
}
主要课程
List<Person> personList = new ArrayList<Person>();
while(true) {
Person p =new Person();
Scanner stdin = new Scanner(System.in);
System.out.println("Enter name :");
p.setName(stdin.next());
System.out.println("Enter gender :");
p.setGender(stdin.next());
System.out.println("Enter age :");
p.setAge(stdin.nextInt());
personList.add(p);
System.out.println("Do you want to add more ?(Y/N)");
if(stdin.next().equalsIgnoreCase("N")) {
break;
}
}
Collections.sort(personList);
System.out.println("The oldest person is " + personList.get(0).getName());