首页 > 解决方案 > Java while(条件未达到)??为什么

问题描述

为什么当我这样做时

while(word.charAt(left) == word.charAt(right) && left >= 0 && right < word.length()){
            left--;
            right++;
        }

它在while条件中说“左> = 0 &&右< word.length()”条件没有达到,但是当我这样做时

 while(left >= 0 && right < word.length() && word.charAt(left) == word.charAt(right)){
            left--;
            right++;

        }

条件得到满足。while(循环条件)有顺序吗???

标签: javaloopswhile-loop

解决方案


顺序确实很重要,因为条件是从左到右检查的。您收到该消息是因为如果前一个条件的计算结果为真,那么这两个条件

left >= 0 && right < word.length()

将始终评估为真。您可能想要后者(因为您想检查所有条件)。


推荐阅读