我一直在查看这段代码,但似乎无法找出答案。但是,我知道这是一个简单的解决方案,我只是现在找不到它......
基本上,我想要找到数组列表中所有负数的位置。 (位置顺序:0,1,2,3,4,5,6,7,8)然后打印负数所在的位置。编译代码时,Java 告诉我错误是什么:
Test.java:11: error: bad operand types for binary operator '<='
while (a<=0) { ^
first type: int[]
second type: int
1 error"**
但是我该如何解决这个问题,任何人都可以指导我正确的方向并解释原因 while (a < 0)
当前代码中不允许。 (任务是用 while
来完成此操作)
String posNegative = 0;
int[] a = {1, 4, 5, -2, -4, 6, 10, 3, -2};
while (a < 0) {
posNegative++;
System.out.println(posNegative);
}
最佳答案
您的代码存在几个问题。首先,您真正想要解决的问题就像这样简单:
int[] a = {1, 4, 5, -2, -4, 6, 10, 3, -2};
for (int i = 0; i < a.length; i++) {
if (a[i] < 0) {
System.out.println(i);
}
}
现在让我们看看您的代码。如果您查看错误消息,它表明您正在尝试比较 int[]
, a 和 int
, 0。 int[]
与 int
是完全不同的类型,因此它们无法进行比较。将 int[]
读取为“int-array”。
还有这一行的问题:
String posNegative = 0;
我猜您的想法是您需要将 posNegative 设为字符串,以便可以打印它。然而,这不是必要的。 System.out.println()
几乎可以接受你扔给它的任何东西。当你声明一个数字时,将其声明为
int posNegative = 0;
关于java - 打印数组列表中负数的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25797386/