【发布时间】:2016-12-03 01:45:06
【问题描述】:
我试图弄清楚如何在数组中生成和存储 10 个随机数,其中数字是两位数,每个数字在 0-7 的范围内。比如10、23、35、77都可以,1、78、89、99不行。而且,我想确保所有数字都是唯一的。到目前为止,这是我想出的...
import java.util.Random;
public class RandomNum{
public static void main(String[] args){
Random rand=new Random();
int[] randomFirstDigit=new int[10];
int[] randomSecondDigit=new int[10];
for(int i=0;i<10;i++){
randomFirstDigit[i]=rand.nextInt(7-1+1)+1;
}
for(int i=0;i<10;i++){
randomSecondDigit[i]=rand.nextInt(7-1+1)+0;
}
int[] randomArr=new int[10];
for(int i=0;i<10;i++){
randomArr[i]=(randomFirstDigit[i]*10)+randomSecondDigit[i];
}
for(int i=0;i<=randomArr.length;i++){
System.out.println(randomArr[i]);
}
}
}
上述代码的主要问题是,有时数组值不是唯一的。换句话说,两个相同的数字存储在像 23,23 这样的数组中。
谁能帮我解决问题。
提前感谢您的帮助。
【问题讨论】:
-
问题是这不是C++。标记已删除。
-
我假设这些反对票来自阅读标题但没有阅读问题详细信息的人。这个问题不仅仅是“生成一个随机数”。我会建议一个经过编辑的标题。