为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

牧羊人nacy 2021-10-06 09:46:35
我必须编写一个代码,提示用户输入一个数字,它应该从数字倒计时到 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();        }    }}
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您的doCountDown方法应该检查条件递减到 0 in for-loop。即i>=0,


public static void doCountDown(int num){

    for(int i=num;i>=0;i--){

        System.out.println(i);

        waitASec();

    }

}


查看完整回答
反对 回复 2021-10-06
?
呼唤远方

TA贡献1856条经验 获得超11个赞

当然倒计时永远不会结束。因为i <= num永远真实。用这个改变你的逻辑;


public static void doCountDown(int num){

    for(int i=num;i>= 0;i--){

        System.out.println(i);

        waitASec();

    }

}


查看完整回答
反对 回复 2021-10-06
  • 3 回答
  • 0 关注
  • 301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信