Java 计数变量未递增

Java 计数变量未递增,java,Java,我试着按照大学里给我们的书去做,但计数变量并没有增加,尽管条件是真的。。。我在这里遗漏了什么?我想说的是,我是Java新手 public static void main(String[] args) { int[] list = new int [] {1, 3, 4, 5, 7, 8, 9, 11, 14}; int count = 0; for(int i = 0; i < list.length -1; i ++){

我试着按照大学里给我们的书去做,但计数变量并没有增加,尽管条件是真的。。。我在这里遗漏了什么?我想说的是,我是Java新手

    public static void main(String[] args) {

    int[] list = new int [] {1, 3, 4, 5, 7, 8, 9, 11, 14};

    int count = 0;  
    for(int i = 0; i < list.length -1; i ++){
            if(list[i] == list[i+1])
                count ++; 

    }
}

计数++;是if的一部分,wich总是假的

您的代码等于:

        if(list[i] == list[i+1]){

            count ++; 
        }
列表[i]始终与列表[i+1]1不同=3 3!=4 4!=5


如果要计数,必须将count++置于is之外。我建议总是将括号放在if和while上,以避免此类错误

count++;是if的一部分,wich总是假的

您的代码等于:

        if(list[i] == list[i+1]){

            count ++; 
        }
列表[i]始终与列表[i+1]1不同=3 3!=4 4!=5


如果要计数,必须将count++置于is之外。我建议始终将括号置于if和while,以避免此类错误

iflist[i]==list[i+1]将始终为false。看看清单;没有两个相邻的值彼此相等,这就是if测试的内容。因此计数将始终保持为0。

iList[i]==list[i+1]将始终为false。看看清单;没有两个相邻的值彼此相等,这就是if测试的内容。所以count将始终保持为0。

在哪些条件下应该递增?这些条件是否满足?因为iList[i]==list[i+1]根据您的数组永远不会为真。请使用System.out.print打印list[i]和list[i+1]的值。只需执行System.out.printlnlist[i]+-+list[i+1];在你的if声明之前。或者甚至做System.out.printlnlist[i]==list[i+1];在声明之前。是什么让你认为这种情况是真的?你测试过吗?编辑:看到你提到你是Java新手。我提供的代码可以用于简单的调试。我还要指出,这个问题不值得表决。他在没有任何证据的情况下假设情况属实。一个更好的问题是如何检查条件是否为真。请不要鼓励像这样的错误。我并不是想卑鄙,但向上投票会引起注意,像这样一个简单的问题不需要太多注意。不要仅仅因为你看到一张反对票试图使之平衡就投赞成票。如果这是一个很好的问题,如果得到回答,它不仅会帮助他人,而且会以某种方式为社区贡献知识。在什么条件下应该增加?这些条件是否满足?因为iList[i]==list[i+1]根据您的数组永远不会为真。请使用System.out.print打印list[i]和list[i+1]的值。只需执行System.out.printlnlist[i]+-+list[i+1];在你的if声明之前。或者甚至做System.out.printlnlist[i]==list[i+1];在声明之前。是什么让你认为这种情况是真的?你测试过吗?编辑:看到你提到你是Java新手。我提供的代码可以用于简单的调试。我还要指出,这个问题不值得表决。他在没有任何证据的情况下假设情况属实。一个更好的问题是如何检查条件是否为真。请不要鼓励像这样的错误。我并不是想卑鄙,但向上投票会引起注意,像这样一个简单的问题不需要太多注意。不要仅仅因为你看到一张反对票试图使之平衡就投赞成票。如果这是一个很好的问题,如果得到回答,它不仅会帮助他人,而且会以某种方式为社区贡献知识。