最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

新手請問這個程序哪里出錯,跪求大神解答?。。。?!

/**

* 3.對其他類型泛型的List進行排序,以Student為例。

* 其中生成的id為1000以內(nèi)不重復的整數(shù)

*/

public void testStudentSort() {

Random r= new Random();

for(int i=0;i<3;i++ ) {

int id=r.nextInt(1000);

String name =dllx.next();

System.out.println("請輸入第"+(i+1)+"個學生的姓名:");

do{

student.add(new Student(id+"",name));

}while (student.contains(id));


}

System.out.println("--------------排序前------------");

for (Student student2 : student) {

System.out.println(student2.getId()+":"+student2.getName());

}

Collections.sort(student);

System.out.println("--------------排序后------------");

for (Student student2 : student) {

System.out.println(student2.getId()+":"+student2.getName());

}

}


正在回答

3 回答


正確思路是:do的時候隨機一個ID,while的時候判斷是否包含這個ID,然后花括號中添加這個ID

這樣就形成了一個ID的隨機添加,for循環(huán)3次。


在一開始如果需要有一個循環(huán)有固定的多個結果,優(yōu)先使用for

for3次循環(huán),用if判斷contains,然后添加。

這樣思路就不會亂,并且在需要擴展的時候也很方便

當然dowhile更符合你的胃口的話,也挺好

我在實現(xiàn)的時候其實為了讓思路更加清晰,使用了三個while進行判斷三個隨機數(shù)互不相等,然后直接使用三個while當中的參數(shù)引用到new Student的ID當中去,這樣雖然看起來笨重,但是對于原始的代碼影響最小,但是也不符合后期的修改和擴容。希望能給你帶來靈感

0 回復 有任何疑惑可以回復我~
for(int?i=0;i<3;i++?)?{
????System.out.println("請輸入第"+(i+1)+"個學生的姓名:");
????String?name?=dllx.next();
????do{
????????int?id=r.nextInt(1000);
????}while?(student.contains(id));
????student.add(new?Student(id+"",name));????
}

你的邏輯是當list中存在當前id時,會一直添加這個student

0 回復 有任何疑惑可以回復我~

System.out.println("請輸入第"+(i+1)+"個學生的姓名:");這句不應該寫在前面嗎?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409773    人
  • 解答問題       4546    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

新手請問這個程序哪里出錯,跪求大神解答!?。。?!

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號