当您关闭时,
scan您将关闭,
System.in并且当您尝试从中重新读取时,它将引发异常。
你的老师就在一个方面,你应该清理的资源,只是 没有 当谈到
System.in。
无需在每次需要输入时都重新打开流,而是可以创建
Scanner一次并在需要输入的地方重新使用它:
public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); System.out.println(getUserString("Write something:", scan)); System.out.println(getUserString("Write something else:", scan));}private static String getUserString(String userCommand, Scanner scan) { System.out.println(userCommand); String userinput = scan.nextLine().trim(); if (userinput.isEmpty()) { System.out.println("Invalid choice"); return getUserString(userCommand, scan); } else { return userinput; }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)