2012-10-24 41 views
0

这是迄今为止的代码,我试图通过输入随机字符来测试它,看看我是否得到正确的if语句,也键入退出)。根据我输入的用户输入未收到任何输出。

然而,我输入我的输入后没有任何反应,为什么?

预先感谢您。

public static void main(String[] args) { 

//==============================================================================   
     // Opening Message. 
     Scanner scan = new Scanner(System.in); 
     System.out.print("Welcome to the Theatre Booking System. (QUIT to exit)" 
       + "\nWould you like to purchase tickets or list available seats?" 
       + "(Purchase/List/Help)"); 
     scan.nextLine(); 
     String answer; 

     answer = scan.nextLine(); 
     int count = 0; 
//============================================================================== 
     // Nested if statement. 
     // First if statement. 
     if (answer.equalsIgnoreCase("purchase")) { 
      // Code for purchase 
     } else { 
      if (answer.equalsIgnoreCase("list")) { 
       // Code for list 
      } else { 
       if (answer.equalsIgnoreCase("help")) { 
        // Code for help 
       } else { 
        if (answer.equalsIgnoreCase("quit")) { 
         System.exit(-1); 
        } else { 
         do { 
          System.out.print("Sorry, incorrect input please enter" 
            + " a valid input (Purchase/List/Help or QUIT to exit"); 
          scan.nextLine(); 
          count++; 
         } while (!answer.equalsIgnoreCase("purchase") 
           || !answer.equalsIgnoreCase("list") 
           || !answer.equalsIgnoreCase("quit") 
           || !answer.equalsIgnoreCase("help")); 

        } 
       } 
      } 
     } 
    } 
} 
+0

你应该使用的if-else,如果阶梯 – Abubakkar

回答

1

你有两个scan.nextLine()语句,你使用第二个语句来输入。因此,您需要先按“Enter”,然后再按“Enter”,然后再按“Enter”。

也避免嵌套如果,您可以直接使用相同的ifelse if

相关问题