1. 程式人生 > >要求從使用者輸入的多行文字中提取學生的姓名、學號及登入日期,並封裝到 Student 類中作為類的私有屬性。建立一個 Student 型別的物件陣列,對學號進行 升序排序並輸出

要求從使用者輸入的多行文字中提取學生的姓名、學號及登入日期,並封裝到 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.Scanner;

public class StudentSort {
	public static void main(String[] args) {
		StudentSort st = new StudentSort();
		st.cutsort();
	}

	public void cutsort() {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入學生的數量:");
		int num = sc.nextInt();
		sc.nextLine();
		Student[] st = new Student[num];
		for (int i = 0; i < num; i++) {
			st[i] = new Student();
			System.out.println("請輸入第" + (i + 1) + "個學生的資訊:");
			String str = sc.nextLine();
			String[] stArr = str.split("[,|\\s]");
			for (int a = 0; a < stArr.length; a++) {
				String str1 = stArr[1];
				String str2 = stArr[3];
				String str3 = stArr[4];
				st[i].setName(str1);
				st[i].setId(str2);
				st[i].setDate(str3);
			}

		}
		sc.close();
		for (int j = 0; j < st.length; j++)
			for (int k = 0; k < st.length; k++)
				if (st[j].getId().compareTo(st[k].getId()) < 0) {
					Student stu = new Student();
					stu = st[j];
					st[j] = st[k];
					st[k] = stu;
				}
		for (int k = 0; k < st.length; k++)
			System.out.println(st[k]);
	}

}

class Student {
	public 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 String toString(){
		
		return name+id+date;
	}

}