java - 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(循环条件)有顺序吗???
解决方案
顺序确实很重要,因为条件是从左到右检查的。您收到该消息是因为如果前一个条件的计算结果为真,那么这两个条件
left >= 0 && right < word.length()
将始终评估为真。您可能想要后者(因为您想检查所有条件)。
推荐阅读
- ios - 失败:responseSerializationFailed(原因:Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
- algorithm - 快速计算`dot(a(n:end), b(1:end-n))`
- python - 运行鼻子测试会破坏腻子会话
- flutter - 按下按钮时颤动显示Listview
- ffmpeg - 在 FFMPEG 直播流中动态注入 ID3
- vue.js - 删除数据表 Vuetify 上的选定行
- ios - swift中的DES加密解密算法
- javascript - Facebook 登录状态“已连接”,仅在 fb 上登录,而不是在 Web 应用程序上登录
- python - 在python中将文件夹中的多个jpg文件编码为base 64
- streamsets - 在 Streamsets Data Collector 中安装外部库的问题