为什么不在Java中打印值?

时间:2018-06-05 04:03:09

标签: java for-loop if-statement

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。感谢。

5 个答案:

答案 0 :(得分:6)

for 循环测试条件以false开头(one == 0)。您应该将one >= 0one > 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开始,并递减每个循环,一个等于零。

所以简单地将终止更改为真,直到它达到零,或者为真,直到它超过零,具体取决于您需要的行为。