【发布时间】:2014-11-17 19:53:18
【问题描述】:
我正在使用 for 循环来解析字符串,如下所示:
for (int i = 1; i < s.length(); ++i)
字符串全部小写,如果当前字符或前一个字符不是字母,我想避免它,像这样:
if (s.charAt(i) - 97 < 0 || s.charAt(i) - 97 > 25 || s.charAt(i-1) < 0 || s.charAt(i-1) > 25)
{
continue
}
我输入的第一个字符串是“marty”,但 if 语句注册为 true。我已经确认四个布尔值中的每一个都评估为假,但 if 语句本身对于每个字符串中的每个字母显然都是正确的。
我什至制作了四个单独的布尔变量,每个参数一个,确认它们都是假的,然后将它们全部组合在一起。也是假的。然而 if 语句每次都会触发。
我真的不知道我在这里错过了什么。谁能帮帮我?
【问题讨论】:
-
不要使用magic numbers。
标签: java string if-statement boolean