亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何生成3個不重復的1000以內的隨機正整數作為學生Id

如何生成3個不重復的1000以內的隨機正整數作為學生Id,大家有沒有好的建議啊?

正在回答

4 回答

public void testSort4(){

List<Student> studentList=new ArrayList<Student>();

List<Integer> randomList=new ArrayList<Integer>();

Random random=new Random();

int k;

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

do{

k=random.nextInt(1000);

}while(randomList.contains(k));

randomList.add(k);

}

studentList.add(new Student(randomList.get(0)+"","luci"));

studentList.add(new Student(randomList.get(1)+"","nibi"));

studentList.add(new Student(randomList.get(2)+"","good"));

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

for(Student stu:studentList){

System.out.println("學生"+stu.name );

}

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

Collections.sort(studentList);

for(Student stu:studentList){

System.out.println("學生"+stu.name+" "+stu.id);

}

//用new StudentComparator()來接收return的值。

Collections.sort(studentList,new StudentComparator());

System.out.println("****根據姓名排序*******");

for(Student stu:studentList){

System.out.println("根據姓名:"+stu.id+" "+stu.name);

}

}


4 回復 有任何疑惑可以回復我~
#1

北海糖

是不是只能用+""的形式來使整數型變成字符型呢
2019-10-01 回復 有任何疑惑可以回復我~

hash表判斷重復。。。

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

3個不重復的1000以內正整數,保存在數組里然后輸出出來:

public static void main(String[] args){
? ? Random r=new Random();
? ? int[] s=new int[3];
? ? Boolean flag=true;
? ?
? ? s[0]=r.nextInt(1000);
? ? int i=1;
? ? while(flag&&i<3)
? ? {
? ? ?flag=false;
? ? ?s[i]=r.nextInt(1000); //產生0到100的隨機數
? ? ?if(s[i]==s[i-1])
? ? ? break;
? ? ?else
? ? ?{
? ? ? i++;
? ? ? flag=true;
? ? ?}
? ? }
? ? for(int j=0;j<3;j++)
? ? ? ? System.out.println(s[j]);
? ? }


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

天藍色的彼岸_123 提問者

但是怎么把生成的隨機不重復id賦值到一組學生對象中去呢?
2015-06-02 回復 有任何疑惑可以回復我~
#2

Nick_arron

你的if語句并沒有什么用,和數組中上一個值相等就跳出循環了,可能連三個數都得不到。
2015-10-07 回復 有任何疑惑可以回復我~

循環生成3次,每生成一次和前一次的判斷一次,重復的跳過。

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

舉報

0/150
提交
取消

如何生成3個不重復的1000以內的隨機正整數作為學生Id

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號