[英]2D array using scanner, input ; Name Age Gender and to find the Oldest Person
类似这样的东西,但使用二维数组输入姓名、年龄、性别并找到用户输入的最年长的人。
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));
您应该创建一个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());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.