艺术与艺术;Java科学第4章,练习8

艺术与艺术;Java科学第4章,练习8,java,Java,我正试图编写一个程序,对发射进行倒计时,但使用while循环,而不是for循环 到目前为止,我所成功做的就是创建一个无限循环,尽管我使用了与for循环代码相同的基本原则 import acm.program.*; public class CountDownWhile extends ConsoleProgram { public void run() { int t = START; while (t >= 0); {

我正试图编写一个程序,对发射进行倒计时,但使用while循环,而不是for循环

到目前为止,我所成功做的就是创建一个无限循环,尽管我使用了与for循环代码相同的基本原则

import acm.program.*;



public class CountDownWhile extends ConsoleProgram {


    public void run() {
        int t = START;
        while (t >= 0); {
            println(t);
            t = t--;
            }
        println("Liftoff!");
        }

    private static final int START = 10;

    }

第一个问题是
在while循环之后。尝试删除

public void run() {
    int t = START;
    while (t >= 0); {  /// <------ Problem 1. Correct: while(t>=0)
        println(t);
        t = t--;       /// <------ Problem 2. Correct: t--;   
        }
    println("Liftoff!");
    }

由于t的值保持不变。

第一个问题是
在while循环之后。尝试删除

public void run() {
    int t = START;
    while (t >= 0); {  /// <------ Problem 1. Correct: while(t>=0)
        println(t);
        t = t--;       /// <------ Problem 2. Correct: t--;   
        }
    println("Liftoff!");
    }

因为t的值保持不变。

代码中有两个错误。这就是你得到无限循环的原因

一,

您不应该在这行后面添加分号,因为它实际上意味着一个while循环,其中没有任何内容

二,

您可以检查此问题以了解有关此语法的更多信息:

简而言之,
t--
的值仍然是10,因此
t=t--
不会改变t的值

循环应如下所示:

while (t >= 0) {
    println(t);
    t--;
}
println("Liftoff!");

您的代码中有两个错误。这就是你得到无限循环的原因

一,

您不应该在这行后面添加分号,因为它实际上意味着一个while循环,其中没有任何内容

二,

您可以检查此问题以了解有关此语法的更多信息:

简而言之,
t--
的值仍然是10,因此
t=t--
不会改变t的值

循环应如下所示:

while (t >= 0) {
    println(t);
    t--;
}
println("Liftoff!");
while (t >= 0) {
    println(t);
    t--;
}
println("Liftoff!");