所以我想知道如何创建一个while循环,其中每个元素最初设置为0.然后在while循环中有一个随机数选择。让我们说第一个循环的数字是5,然后数组nums的索引5变为1.假设再次选择5,那么nums中的索引5将变为2等。这个循环需要继续直到最后一个索引= 1.因此,退出循环的唯一方法是nums数组中的每个索引必须大于或等于1.
我提出了以下循环,但我知道由于时间条件错误,它会继续进行。但是我找不到合适的,我已经尝试了一段时间...帮助将不胜感激!
public class Question1 {
public static void main(String[] args) {
int[] nums = new int [10];
while ( nums[0]!=1 || nums[1]!=1 || nums[2]!=1 || nums[3]!=1 || nums[4]!=1 || nums[5]!=1 || nums[6]!=1 || nums[7]!=1 || nums[8]!=1 || nums[9]!=1){
int i = rand.nextInt(10);
nums[i]++;
}
答案 0 :(得分:2)
试试这个:
public static void main(String[] args) {
Random rand = new Random();
int[] nums = new int [10];
while (stopTest(nums)){
int i = rand.nextInt(10);
nums[i]++;
}
//print to test
System.out.println(Arrays.toString(nums));
}
private static boolean stopTest(int[] array) {
for(int i: array) {
if (i<1) return true;
}
return false;
}