java - 打印数组列表中负数的位置

标签 java arrays while-loop

我一直在查看这段代码,但似乎无法找出答案。但是,我知道这是一个简单的解决方案,我只是现在找不到它......

基本上,我想要找到数组列表中所有负数的位置。 (位置顺序: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/

相关文章:

更改文件内容

java - 根据单选按钮在页面加载时使用不同的样式表

java - 模型可以刷新 View 吗?

java - Jasper 的 Excel 报告

c# - 匹配具有相同索引的 2 个数组的值

C++ 数组从 512x512 转换为 16x16x32x32

java - 如何随机交换图像的像素?

JAVA在多行输出上反转字符串

java - 如何在不同的浏览器页面管理多个账户的登录和注销?

bash 脚本 : commands after the loop are not executed if the loop condition is false