猿问

编写一个 Java 程序,提示输入一个数字并从该数字开始倒计时

我必须编写一个代码,提示用户输入一个数字,它应该从数字倒计时到 0。我得到了这个: 需要三个函数,main()、doCountDown() 和 waitASec() . 可选地,第四个功能将执行用户交互。到目前为止,这就是我所拥有的。没有错误并且代码运行。然而,倒计时并没有停在0,而是不断地倒数成负数。我不知道从这里去哪里。


import java.util.Date;

import java.util.Scanner;


public class Code {


    public static void main(String[] args) {

        System.out.println("Count down how many seconds? ");

        Scanner sc = new Scanner(System.in);

        int num = sc.nextInt();

        sc.close();

        doCountDown(num);

    }

    public static void doCountDown(int num){

        for(int i=num;i<=num;i--){

            System.out.println(i);

            waitASec();

        }

    }

    private static void waitASec() {

        long t = new Date().getTime();

        long t1=t+1000;

        for(;t<t1;) {

            t = new Date().getTime();

        }

    }


}


牧羊人nacy
浏览 302回答 3
3回答

猛跑小猪

您的doCountDown方法应该检查条件递减到 0 in for-loop。即i>=0,public static void doCountDown(int num){&nbsp; &nbsp; for(int i=num;i>=0;i--){&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(i);&nbsp; &nbsp; &nbsp; &nbsp; waitASec();&nbsp; &nbsp; }}

呼唤远方

当然倒计时永远不会结束。因为i <= num永远真实。用这个改变你的逻辑;public static void doCountDown(int num){&nbsp; &nbsp; for(int i=num;i>= 0;i--){&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(i);&nbsp; &nbsp; &nbsp; &nbsp; waitASec();&nbsp; &nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答