【发布时间】:2021-04-29 04:36:02
【问题描述】:
这是我自己的代码。它有一个问题。此代码适用于“退出”情况,没有任何例外,但不适用于“倒计时”情况。我需要一些帮助来解决这个问题。我将 IDEA 与 java 15 一起使用。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.util.Date;
import java.util.Scanner;
import java.time.LocalTime;
import java.util.NoSuchElementException;
class Clock {
public static void run(long time) {
for (long seconds = time; seconds >= 0; seconds--) {
try {
Thread.sleep(1000);
System.out.println(seconds);
} catch (InterruptedException exc) {
System.out.println("Thread interrupted.");
}
}
System.out.println("Done!");
}
public static int getTime() {
int time = 0;
System.out.print("Enter seconds: ");
try (Scanner scan = new Scanner(System.in)) {
time = scan.nextInt();
} catch (NoSuchElementException exc) {
System.out.println("NumberFormatException: " + exc);
}
return time;
}
public static void main(String args[]) throws Exception {
BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));
for (; ;) {
System.out.println("What type of alarm will you choose? 1 - countdown, 2 - particular time, 3 - exit: ");
String action = scan.readLine();
switch (action) {
case "countdown":
long time = 0;
if (args.length == 1) {
time = Integer.parseInt(args[0]);
} else {
time = getTime();
}
run(time);
break;
case "exit":
System.out.println("Bye bye!");
System.exit(0);
break;
}
}
}
}
在我的代码编译后(上图)我得到了这个异常: 线程“主”java.io.IOException 中的异常:流已关闭
【问题讨论】:
-
错误指向哪一行?请输入完整的堆栈跟踪
-
您好! pastebin.com/dewyh0RsString action = scan.readLine();
标签: java