要求從使用者輸入的多行文字中提取學生的姓名、學號及登入日期,並封裝到 Student 類中作為類的私有屬性。建立一個 Student 型別的物件陣列,對學號進行 升序排序並輸出
阿新 • • 發佈:2018-12-25
/*從鍵盤輸入多行文字,格式如下:
學生端名稱,姓名,班級名稱,學生 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; } }