class Some {
public static void main(String args[]) {
for(int one = 77; one == 0; --one) {
if(one == 77) {
System.out.println("Original integer:" + one);
}
else {
System.out.println("Integer: " + one);
}
}
}
}
我很困惑为什么代码无法打印值。如果有人能告诉我如何让循环成功运行,我将不胜感激。感谢帮助,因为这是我第一次尝试使用Java。感谢。
答案 0 :(得分:6)
for 循环测试条件以false开头(one == 0
)。您应该将one >= 0
或one > 0
视为for循环测试条件。
答案 1 :(得分:3)
你的循环没有运行,因为one
在开头不是0。只要条件为真,循环就会运行。
您的情况应该是one >= 0
,或者如果您不希望循环运行一个== 0,请将其设为one > 0
。
答案 2 :(得分:1)
更改代码,使程序至少在 for循环内输入一次。由于您初始化i = 77,当检查条件1 == 0时,发现它为假。因此程序不会进入for循环内部,因此不会打印任何内容。
class Some
{
public static void main(String args[])
{
for(int one = 77; one>=0; --one)
{
if(one == 77)
{
System.out.println("Original integer:" + one);
}
else
{
System.out.println("Integer: " + one);
}
}
}
}
答案 3 :(得分:0)
one == 0
永远不会是真的因此循环不会运行
您想要one > 0
在你的循环中:
for(int one = 77; one > 0; --one) {
答案 4 :(得分:0)
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
声明for语句分为3部分。
sample_weight
初始化,终止和增量。
你的for循环有
初始化为for (initialization; termination; increment) {
statement(s)
}
终止为int one = 77;
,增量为{{1}}
它进一步陈述
“当终止表达式的计算结果为false时,循环终止。”
这意味着one == 0;
将从77开始,并递减每个循环,而一个等于零。
所以简单地将终止更改为真,直到它达到零,或者为真,直到它超过零,具体取决于您需要的行为。