Java:在for循环中初始化的run方法中使用的变量在for循环语句

时间:2015-12-13 09:26:55

标签: java for-loop

/*
 * File: Countdown.java
 * ----------------------
 * This program counts backwards from the value  START
 * to zero, as in the countdown preceding a rocket launch.
 */

import acm.program.*;

public class Countdown extends ConsoleProgram  {

    public void run () {
        for (int t = START; t >= 0; t-- ); {
            println(t);
        }
        println ("Liftoff!");
    }
/* Specifies the value from which to start the countdown.*/

    private static final int START = 10;
}

我的问题是以下语句中的(t)不被识别为变量:

println(t);

2 个答案:

答案 0 :(得分:4)

更改

for (int t = START; t >= 0; t-- ); {
                                 ^
    println(t);
}

for (int t = START; t >= 0; t--) {
    println(t);
}

;关闭了for语句,这意味着以下{}块不属于循环,因此t未在范围内定义那个街区。

答案 1 :(得分:0)

(这可以说是对Eran's answer的评论,但必须作为获得必要格式的答案发布。)

您应该使用支持Java的编辑器,并使用它定期重新格式化,但尤其是在您不理解错误时。我使用Eclipse重新格式化了问题中的代码。结果如下:

for (int t = START; t >= 0; t--)
  ;
{
  println(t);
}

&#34 ;;"的重要性以及该块与for循环处于同一级别的事实都被原始格式隐藏,并通过重新格式化放置在前后中心