我在运行时收到错误

时间:2014-02-28 22:42:04

标签: java

好的,所以我遇到了一个错误,我不太清楚为什么,任何帮助都会受到赞赏。当我尝试运行它时,我遇到了以下内容。

  

线程“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;   
           }
       }
    }
}

1 个答案:

答案 0 :(得分:1)

你正在以某种方式运行程序(它似乎工作正常,至少是表面上的),不允许交互式输入。

Scanner试图在此处阅读:

int choice=kbReader.nextInt();

System.in已经关闭。

您应该以支持通过System.in输入数据的方式运行该程序,例如在任何主要的IDE中。