好的,所以我遇到了一个错误,我不太清楚为什么,任何帮助都会受到赞赏。当我尝试运行它时,我遇到了以下内容。
线程“main”java.util.NoSuchElementException中的异常 在java.util.Scanner.throwFor(Scanner.java:907) 在java.util.Scanner.next(Scanner.java:1530) 在java.util.Scanner.nextInt(Scanner.java:2160) 在java.util.Scanner.nextInt(Scanner.java:2119) 在JonesInc.main(JonesInc.java:16)
public class JonesInc
{
public static void main(String[] args)
{
Scanner kbReader=new Scanner(System.in);
System.out.println("1. Administration");
System.out.println("2. Check Stock Availability");
System.out.println("3. Purchase Textbooks");
System.out.println("4. Return Textbooks");
System.out.println("5. Quit");
System.out.println("please select your choice");
int choice=kbReader.nextInt();
int stock=100;
if(choice==1)
{
Scanner password=new Scanner(System.in);
System.out.println("Please Enter Password");
String name=password.nextLine();
if(name.equals("Java"))
System.out.println("A. Increase Stock Availabilty");
System.out.println("B. Reduce Stock Availability");
System.out.println("C. Quit");
System.out.println("Select your choice");
Scanner kbReader1=new Scanner(System.in);
String choice1=kbReader1.nextLine();
char ch=choice1.charAt(0);
System.out.println("");
switch (ch)
{
case'A':
case'a':
System.out.println("How much do you wish to increase stock by");
break;
case'B':
case'b':
System.out.println("How much do you wish to decrease stock by");
break;
case'C':
case'c':
System.out.println("Dave is cool");
break;
}
}
}
}
答案 0 :(得分:1)
你正在以某种方式运行程序(它似乎工作正常,至少是表面上的),不允许交互式输入。
Scanner
试图在此处阅读:
int choice=kbReader.nextInt();
但System.in
已经关闭。
您应该以支持通过System.in
输入数据的方式运行该程序,例如在任何主要的IDE中。