如何找到值为0的数组的索引?爪哇

时间:2020-07-23 13:31:20

标签: java

有什么方法可以在我的数组中找到0的索引吗?

我是新手,所以我所知不多。

az acr login --name acrServer

4 个答案:

答案 0 :(得分:0)

仅打印(或执行任何必要的操作)索引i。您已经找到零了:

for (int i = 0; i < arraySize; i++) {
    if (array[i] == 0) {
        numberOfZeros++;
        System.out.print("The value zero is at index: " + i);
    }
}

答案 1 :(得分:0)

您可以解析数组,并且每次遇到零时,都可以存储索引:

        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter Array Size - ");
        int arraySize = scanner.nextInt();

        int[] array = new int[arraySize];
        int a = -1;
        for (int i = 0; i < arraySize; i++) {
            array[i] = a + (int) (Math.random() * 10);
        }
        
        for(int i=0;i<arraySize;i++) {
           if ( array[i] == 0 ) {
               System.out.println(" There is a zero on the index "+i );
           }
        }

答案 2 :(得分:0)

您可以使用ArrayList跟踪索引,并在找到零时打印出来

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter Array Size - ");
        int arraySize = scanner.nextInt();

        int[] array = new int[arraySize];
        int a = -1;
        int numberOfZeros = 0;
        List<Integer> indexes = new ArrayList<>();

        for (int i = 0; i < arraySize; i++) {
            array[i] = a + (int) (Math.random() * 10);
            if (array[i] == 0) {
                numberOfZeros++;
                indexes.add(i);
            }
        }

        if (numberOfZeros == 0) {
            System.out.print("No Zero's in Array!");
        } else if (numberOfZeros > 0) {
            System.out.print("Number of Zero's in Array - " + numberOfZeros + " , in positions: " + indexes);
        }
        scanner.close();
    }

答案 3 :(得分:0)

只要您已经遍历数组并对其进行计数,只需将它们添加到List<Integer>中以备将来参考。

但是,如果您需要与其他代码隔离地找到它们,则可以通过这种方式完成。

int[] vals = { 1,2, 0,20,33,2, 0, 99,9,10,0,4};
int[] zeroIndices = IntStream.range(0,vals.length)
          .filter(i->vals[i] == 0)
          .toArray();

System.out.println(zeroIndices.length + " zeroes found!");
System.out.println(Arrays.toString(zeroIndices));

打印

3 zeroes found!
[2, 6, 10]