我已经确定了// Here
评论遇到问题的行。我不明白if
- 声明发生了什么。
String input = "Hello World!";
String temp = "";
String result = "";
for (int i = 0; i <= input.length(); i++) {
if (i != input.length() && input.charAt(i) != ' ') { // Here
temp = input.charAt(i) + temp;
} else {
result = temp + " " + result;
temp = "";
}
}
System.out.println("the result is: " + result);
答案 0 :(得分:0)
检查输入的长度是否与i不同,输入字符不是空格。
答案 1 :(得分:0)
for (int i = 0; i <= input.length(); i++) {
i!= input.length()这将检查i是否不等于字符串的长度。 input.charAt(i)!=&#39; &#39;这将返回当前位置的char,让我们说。 i = 0将返回&#34; H&#34;因为它是在charAt(0)找到的。 如果检查i是否不等于字符串的长度并且当前字符不为空(不是空格)。
if (i != input.length() && input.charAt(i) != ' ') {
如果没有空格和计数器不大于这个长度
temp = input.charAt(i) + temp;
} else {
如果空白这样做
result = temp + " " + result;
temp = "";
}
}
System.out.println("the result is: " + result);
答案 2 :(得分:0)
if (i != input.length() && input.charAt(i) != ' ')
说两件事必须是真的,并用短截码进行评估。首先,它检查i
是否不等于输入的长度。 (i != input.length()
)IF并且只有在第一部分为真时才会评估第二部分。这是Shortcircut(&&
运算符)评估的本质。第二部分说索引i
处的字符不是空格字符。 (input.charAt(i) != ' '
)如果这两个都是真的,那么表达式被评估为真,并且'then'被执行。如果第一个为假(短路),或者第一个为真且第二个为真,则执行else。