java: 用Random产生随机数放在数组中,就像36选7那样。7个数字都不相同!
我主要想知道,Random产生的随机数有可能相同。第一次可能是2,第二次也可能是2。如果第二次也是2的话就重新产生。好像是关于数组地址判断的,我也不清楚。...
我主要想知道,Random产生的随机数有可能相同。第一次可能是2,第二次也可能是2。如果第二次也是2的话就重新产生。好像是关于数组地址判断的,我也不清楚。
展开
1个回答
展开全部
import java.util.Random;
public class Rand {
public static void main(String[] args) {
final int[] nums = new int[7];
Random rand = new Random();
for(int i = 0; i < nums.length; i++){
int randNum = rand.nextInt(35);//simple test, the number not grater than 35
boolean isExistingNum = false;
//check whether it's already in the array;
for(int j =0; j < i; j++){
if(nums[j] == randNum){
isExistingNum = true;
break;
}
}
if(isExistingNum){
i--;
}else{
nums[i] = randNum;
}
}
//print the array
for(int i = 0; i < nums.length; i++){
System.out.println(nums[i]);
}
}
}
public class Rand {
public static void main(String[] args) {
final int[] nums = new int[7];
Random rand = new Random();
for(int i = 0; i < nums.length; i++){
int randNum = rand.nextInt(35);//simple test, the number not grater than 35
boolean isExistingNum = false;
//check whether it's already in the array;
for(int j =0; j < i; j++){
if(nums[j] == randNum){
isExistingNum = true;
break;
}
}
if(isExistingNum){
i--;
}else{
nums[i] = randNum;
}
}
//print the array
for(int i = 0; i < nums.length; i++){
System.out.println(nums[i]);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询