類的封裝與物件陣列-隨機點名器
阿新 • • 發佈:2020-12-19
列印如下的選單並呼叫隨機點名器的相應方法完成選單功能。
要求:
定義一個學生類,包含私有的姓名、學號兩個成員變數;
定義一個隨機點名器類,具有列印學生名單、隨機點名等功能:
public void printName(Students[] stu) {
// 列印全體學生名單
}
public void randomCall(Students[] stu) {
// 利用隨機函式,輸出隨機點到的某同學姓名
}
在測試類中列印選單,建立具有若干名學生的學生類陣列,根據使用者的選項呼叫隨機點名器的相應方法完成選單功能,僅當輸入0時結束程式。
public class Students {
private String name;
private String number;
public Students(String name,String number) {
this.name=name;
this.number=number;
}
public String getName() {
return name;
}
public String getNumber() {
return number;
}
}
public class Random{
public void printName(Students[] stu) {
int n=stu.length;
int i;
System.out.println("姓名\t學號");
for(i=0;i<n;i++) {
System.out.println(stu[i].getNumber()+"\t"+stu[i].getName());
}
}
public void randomCall(Students[ ] stu) {
Random rd=new Random();
int x=rd.nextInt(stu.length);
System.out.println(stu[x].getName());
}
}
public class RandomTest {
public static void main(String[] args) {
// 列印選單
System.out.println("[1] 列印全體同學名單");
System.out.println("[2] 隨機點名");
System.out.println("[0] 退出");
// 建立物件
RandomDemo rdd=new RandomDemo();
Students[] stu=new Students[5];
stu[0]=new Students("小芳","2020001");
stu[1]=new Students("小強","2020002");
stu[2]=new Students("小偉","2020003");
stu[3]=new Students("小新","2020004");
stu[4]=new Students("小牟","2020005");
// 選單功能
Scanner scan=new Scanner(System.in);
a: while(true) {
System.out.println("請選擇選單:");
int k=scan.nextInt();
switch(k) {
case 0:
break a;
case 1:
rdd.printName(stu);
break;
case 2:
rdd.randomCall(stu);
break;
default:
System.out.println("輸入選單編號錯誤!");
}
}
System.out.println("程式結束。");
}
}