1.题目:某班级共有50位同学,依次输入每位同学的姓名生日。姓名中不含有空格;生日的输入格式为yyy//mm//dd。按照年龄从大代销的顺序输出学生姓名,每个名字占一行。
本代码展示3位同学的排序;
2.代码展示(复制可直接运行)
public class Y2018T7 {
public static void putName(){
String []s1=new String[2];
String str="";
String regex1="\\s";
List<Student> list=new ArrayList();
Scanner sc=new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("请输入");
str=sc.nextLine();
s1=str.split(regex1);
list.add(new Student(s1[0],getDate(s1[1])));
}
System.out.println("ss");
for(int i=0;i<list.size();i++){
for(int j=i+1;j<list.size();j++){
if(list.get(i).date>list.get(j).date){
Student tmp=list.get(j);
list.set(j,list.get(i));
list.set(i,tmp);
}
}
}
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).name+" ");
}
}
public static Integer getDate(String s2){
String regex="\\D+";
String str="";
String []arr=s2.split(regex);
for(int i=0;i<arr.length;i++){
str=str+arr[i];
}
return Integer.parseInt(str);
}
public static void main(String[] args) {
putName();
}
}
class Student{
String name;
Integer date;
public Student(String name, Integer date) {
super();
this.name = name;
this.date = date;
}
}