【发布时间】:2019-03-23 18:19:55
【问题描述】:
我正在尝试创建一个简单的程序来计算String 中的大写字符,方法是循环遍历每个字符并在字符为大写时递增累加器变量。这是我的代码:
String str = "JuSTin"; //3 uppercase characters
int upperCaseCount = 0; //increment each time an uppercase character is encountered
char character; //the current character
for(int i = 0; i < str.length(); i++)
{
character = str.charAt(i);
System.out.println(character); //Log all characters to console just to see what is going on
if(Character.isUpperCase(character))
upperCaseCount++;
i++;
}
System.out.println("Uppercase characters: " + upperCaseCount);
运行此代码时输出:
J
S
i
Uppercase characters: 2
是什么导致了这个输出? “JuSTin”中的“u”“T”和“n”在哪里?为什么upperCaseCount 等于 2 而不是 3?
【问题讨论】:
-
你在做
i++两次。这导致字母被跳过。这似乎是一个错字。 -
这是我在这个网站上感受到的最愚蠢的......谢谢。我应该结束这个问题吗?
-
我投票关闭它是一个错字,但现在有了答案,你将无法删除它。