我试图将 WholeNumbers 数组中的负数更改为它们的槽/索引号,然后打印出该数组。我还必须使用 while 循环。这是我到目前为止所得到的,但现在我陷入困境。我复制数组的方向正确吗?我该如何继续,“change[counter]”等于“counter”是否正确?还是我的想法错了?当我运行时出现错误
public class NegativeNumber {
public static void main(String[] args) {
int[] wholeNumbers = {1, 4, 5, -2, -4, 6, 10, 3, -2};
int counter = 0;
int negativeCounter = 0;
int sum = 0;
while(counter < wholeNumbers.length) {
if(wholeNumbers[counter] < 0)
{
sum += wholeNumbers[counter];
negativeCounter++;
}
counter++;
}
System.out.println("Negative numbers: "+negativeCounter);
int[] change = Arrays.copyOf(wholeNumbers, wholeNumbers.length);
while(counter < change.length) { //get error
if(change[counter] < 0){
change[counter]=counter;
System.out.println(change[counter]);
}
}
}
}
}
最佳答案
public static void main(String[] args) {
int[] wholeNumbers = {1, 4, 5, -2, -4, 6, 10, 3, -2};
int negativeCount;
for(int i = 0; i < wholeNumbers.length; i++) {
if(wholeNumbers[i] < 0) {
negativeCount++;
wholeNumbers[i] = i;
}
}
}
带有while
public static void main(String[] args) {
int[] wholeNumbers = {1, 4, 5, -2, -4, 6, 10, 3, -2};
int negativeCount;
int idx = 0;
while(idx < wholeNumbers.length) {
if(wholeNumbers[idx] < 0) {
negativeCount++;
wholeNumbers[idx] = idx;
}
idx++;
}
}
关于java - 如何将数组中的负数更改为其索引槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550417/