while循环中的Java数组

时间:2017-03-19 02:21:25

标签: java arrays while-loop

所以我想知道如何创建一个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]++;
}

1 个答案:

答案 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;
}