Java 如何使用扫描仪读取文本文件
我试图从文件中读取文本,并将其与用户输入进行比较。但是当我运行它的时候,我会得到一个错误,读取。我不知道怎么了,任何帮助都将不胜感激 线程“main”java.lang.IllegalStateException中的异常:扫描程序 关闭 在java.base/java.util.Scanner.com上重新打开(Scanner.java:1150) 位于java.base/java.util.Scanner.next(Scanner.java:1573) 位于java.base/java.util.Scanner.nextInt(Scanner.java:2258) 位于java.base/java.util.Scanner.nextInt(Scanner.java:2212) 位于test123.main(test123.java:32) 您正在关闭它:Java 如何使用扫描仪读取文本文件,java,java.util.scanner,Java,Java.util.scanner,我试图从文件中读取文本,并将其与用户输入进行比较。但是当我运行它的时候,我会得到一个错误,读取。我不知道怎么了,任何帮助都将不胜感激 线程“main”java.lang.IllegalStateException中的异常:扫描程序 关闭 在java.base/java.util.Scanner.com上重新打开(Scanner.java:1150) 位于java.base/java.util.Scanner.next(Scanner.java:1573) 位于java.base/java.uti
sc.close();
然后试着从中读出:
if(userName.equals(uName) && passWord.equals(pWord))
{
System.out.println("Welcome " + userName + "!");
System.out.println("Menu: ");
System.out.println("\t1) Account");
System.out.println("\t2) Payroll");
System.out.println("\t3) Attendance Report");
System.out.println("\t4) Service Desk");
int answer = sc.nextInt(); //here
switch (answer) {
case 1:
System.out.print("Welcome to Account!");
break;
case 2:
System.out.print("Welcome to Payroll!");
break;
case 3:
System.out.print("Welcome to Attendance Report!");
break;
case 4:
System.out.print("Welcome to Service Desk!");
break;
default:
System.out.print("Enter correct menu option");
}
}
else
{
System.out.println("Sorry, you entered invalid credentials. Try again. ");
}
在末尾放置sc.close()
,如下所示:
...
...
...
sc.close();
}
}
您遇到的错误是因为您试图执行sc.nextInt()
时,已执行了sc.close()
关闭扫描仪
对象。sc.nextInt()在sc.close()之后调用code>
...
...
...
sc.close();
}
}