繁体   English   中英

For 循环 - Java

[英]For Loops - Java

我确定这非常简单,但我一直什么也没得到。 指令说:

“编写打印代码:firstNumber...2 1 在每个数字后打印一个换行符。例如:firstNumber = 3 输出

3
2
1

这是:代码:

public class ForLoops {
   public static void main (String [] args) {
      int firstNumber;
      int i;

      firstNumber = 3;

      for (i = 3; i <= 1; --i) {
         System.out.println(i);
     }
   }
}

我的思考过程是因为它想让我从 3 倒数到 1,我让 i 等于 3,然后它会倒计时,直到 i 等于或小于 1 与 --i。

如果这是有道理的。

问题出在循环条件中,永远不会为True ,将条件更改为:

i >= 1

因为在这种情况下:

i <= 1

i的当前值为 3,并且3不小于 ( < ) 或等于 ( = ) 1 ,因此条件首先为False ,并且永远不会执行for循环中的代码。

此外,您已经创建了一个变量firstNumber ,我相信它是计数器变量的起点,因此您可以更改此行:

for (i = 3; i <= 1; --i)

对此:

for (i = firstNumber; i >= 1; --i)

你的逻辑在这里

for (i = 3; i <= 1; --i) {
     System.out.println(i);
}

a) start with i being three

b) if i <= 1
   then print
   decrement i

c) loop again

显然永远不会进入循环

尝试

for (i = 3; i >= 1; --i) {
     System.out.println(i);
}

您应该编写如下代码:

public class ForLoops {
    public static void main (String [] args) {

       int firstNumber;
       int i;

       firstNumber = 3;

       for (i = firstNumber; i >= 1; --i) {
          System.out.println(i);
       }
   }
}

您在 for 循环条件中有一个简单的错误。

当您向相反方向前进时,它不应该大于或等于 (>=)。

将其更改为:

for (i = 3; i >= 1; --i)

你的错误似乎是,你使用了一个永远不正确的 <= (小于或等于)(3 永远不能小于或等于 1)。 所以你必须使用 >=

并且您的变量名称中不能有空格( int firstNumer; 必须是 int firstNumer;)

public class Test{
    public static void main(){
         int firstNumber;
         firstNumber = 3;

         for(int i = 3; i >= 1; i--){
              System.out.println(i);
         }
    }
}

抱歉我的拼写错误,但我现在正在使用手机。 我希望我能帮助你。

这是正确的代码:

   public class ForLoops {
    public static void main (String [] args) {
      int firstNumber;
      int i;

      firstNumber = 3;

      i = firstNumber;   

      for (i = 3; i <= 1; --i) {
         System.out.println(i);
     }
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM