2012-08-27 44 views
0

嗨我有一些代碼讓Java控制檯在按下特定鍵時執行某些操作。系統輸入並存儲密鑰作爲字符串沒有麻煩,我可以打印出來確認它的工作原理。但是,代碼永遠不會進入條件語句,而是每次都跳轉到else。這裏是代碼:當輸入特定鍵時輸入循環 - Java

Scanner MenuChoice = new Scanner(System.in); 
    Products.MenuCode = MenuChoice.next(); 


       if(Products.MenuCode=="F") 
       { 
       //Run subprogram for finding a product. 
       Find.main();  

       } 

       else{ 
       System.out.println("F - Find a Product"); 
       System.out.println("p - Purchase a Product"); 
        System.out.println("Q - Quit"); 
        Scanner MenuChoice2 = new Scanner(System.in); 
        Products.MenuCode = MenuChoice2.next(); 
       }; 

怎麼回事?

回答

3

你可以做到這一點

Scanner MenuChoice = new Scanner(System.in); 
Products.MenuCode = MenuChoice.next(); 


      if(Products.MenuCode.equals("F")) // use equals method 
      { 
      //Run subprogram for finding a product. 
      Find.main();  

      } 

      else{ 
      System.out.println("F - Find a Product"); 
      System.out.println("p - Purchase a Product"); 
       System.out.println("Q - Quit"); 
       Scanner MenuChoice2 = new Scanner(System.in); 
       Products.MenuCode = MenuChoice2.next(); 
      }; 
+0

感謝那些解決它:) – user1627774

+0

,如果你得到你的答案,那麼你可以接受的答案一樣http://meta.stackexchange.com/questions/5234/how -does接受-的回答工作 –

0

你不能比較使用字符串==你必須使用等於梅索德。

equals方法是這樣的:

boolean b = string1.equals(string2);