从键盘输入多行文本,格式如下:
学生端名称,姓名,班级名称,学生 ID,注册时间
姜涛,姜涛,,20092212232,2011-11-4 9:06:56
任超,任超,,20092212239,2011-11-4 9:06:56
杨阳,杨阳,,20092212302,2011-11-4 9:06:54
都英健,都英健,,20092212229,2011-11-4 9:07:04
要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到
Student 类中作为类的私有属性。创建一个 Student 类型的对象数组,对学号进行升序排序并输出。
学生端名称,姓名,班级名称,学生 ID,注册时间
姜涛,姜涛,,20092212232,2011-11-4 9:06:56
任超,任超,,20092212239,2011-11-4 9:06:56
杨阳,杨阳,,20092212302,2011-11-4 9:06:54
都英健,都英健,,20092212229,2011-11-4 9:07:04
要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到
Student 类中作为类的私有属性。创建一个 Student 类型的对象数组,对学号进行升序排序并输出。
import java.util.*;
import java.util.Scanner;
class Student{
private String name;
private String id;
private String date;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public String getDate(){
return date;
}
public void setDate(String date){
this.date=date;
}
public void sort(Student[] stu,int num){
Student st;
for(int i=1;i<num-1;i++){
for(int j=i+1;j<num;j++){
if (stu[i].getId().compareTo(stu[j].getId())>0)
{
st=stu[i];
stu[i]=stu[j];
stu[j]=st;
}
}
}
}
public void print(Student[] stu,int num){
System.out.println("排序后的结果为:");
for(int i=1;i<num;i++){
System.out.println(stu[i].getName()+" "
+stu[i].getId()+" "+stu[i].getDate());
}
}
}
public class StudentTest {
public static void main(String[] args){
Student s=new Student();
Student[] stu=new Student[20];
Scanner input=new Scanner(System.in);
System.out.println("请输入学生信息:");
int num=0;
while(input.hasNextLine())
{
String str=input.nextLine();
String[] strArr=str.split(",,|,| ");
Student st=new Student();
st.setName(strArr[1]);
st.setId(strArr[2]);
st.setDate(strArr[3]);
stu[num]=st;
num++;
}
s.sort(stu, num);
s.print(stu, num);
input.close();
}
}