當前位置:編程學習大全網 - 編程語言 - 通過編程隨機分配教室

通過編程隨機分配教室

根據妳的第二點,妳只是想實現隨機點名,而不是隨機點名。

讓我給妳壹個解決方案:

每個學生點名後在java0803_students.txt文件中做壹個標記,表示該學生在本輪點名中已被點名。

直到所有學生都達到這個表示,他們準備好下壹輪的點名和標記。

下面給妳壹段偽代碼,裏面包含了random的用法:

公共類CallStudents(){

私有靜態隨機Random = new Random();

公共void調用(){

//重置被點名學生的標簽(根據點名)

reset();

long值=-1;

while (true) {

value = random . nextint(max value+1);// maxValue是您當前擁有的最大學生數。

//在這裏讀取當前隨機數對應的學生記錄。

string student = getStudentByID(value);

//判斷該學生是否已被調用。

如果(!checkCalled(學生)){

//設置已被調用。

setCalled(學生);

//在控制臺上顯示已命名學生的信息。

system.out.println(學生);

//結束循環

打破;

}

}

}

私有字符串getStudentByID(長id){

//這是讀取文件,需要自己體會。

//返回java0803_students.txt文件中對應的學生記錄。

}

私有布爾checkCalled(String student){

//至於什麽樣的規則,妳有自己的定義。

//這裏舉個例子。

//如果這個學生記錄中包含壹個名為的字符,說明這個學生已經被命名。

if(student.indexOf("called ")!= -1){

retrn true

}

返回false

}

私有空集合Called(String student){

//至於什麽樣的規則,妳有自己的定義。

//這裏舉個例子。

//設置學生已命名。

學生+= " _叫";

//將該值寫回您的java0803_students.txt文件,覆蓋所需信息!

}

私有void重置(){

//判斷是否所有學生都已命名。如果他們已經被命名,清除所有學生的名字。

//這個實現有自己的定義,

//這裏舉個例子。

//讀取文件,判斷每個學生的信息是否標有called。

//如果有全部,刪除所有調用並保存文件。

//如果只有部分沒有,說明點名沒有結束,沒有操作。

}

公共靜態void main(String[] args){

String con = //接受控制臺信息

if(con . equals(" y "){

call students call = new call students();

call . call();

}

if(con . equals(" n "){

//結束程序

}

}

}

  • 上一篇:嵌入式學習步驟
  • 下一篇:關於四川遂寧春節的民俗的論文
  • copyright 2024編程學習大全網