我必须编写一个代码,提示用户输入一个数字,它应该从数字倒计时到 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();
}
}
呼唤远方
TA贡献1856条经验 获得超11个赞
当然倒计时永远不会结束。因为i <= num永远真实。用这个改变你的逻辑;
public static void doCountDown(int num){
for(int i=num;i>= 0;i--){
System.out.println(i);
waitASec();
}
}
添加回答
举报
0/150
提交
取消