有什么方法可以在我的数组中找到0的索引吗?
我是新手,所以我所知不多。
az acr login --name acrServer
答案 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]