2013-07-23 64 views
2

我想在Eclipse中運行此代碼,但每當我嘗試運行參數-es時,就像我輸入-es AND -h。下面是代碼:爲什麼下面的參數顯示未輸入Java時?

public class Option 
{ 
    public static void main(String[] args) 
    { 
     if (args[0].equals("-en")) 
     { 
      System.out.println("Langauge is set to English") ; 
     } 
     else if (args[0].equals("-es")) 
     { 
      System.out.println("El idioma es espanol") ; 
     } 
     else if (args[0].equals("h")) ; 
     { 
      System.out.print("\tHelp\n\n\t-es\tSpanish\n\t-en\tEnglsish") ; 
     } 
    } 
} 

回答

6

消除在此行中;

else if (args[0].equals("h")) ; 

的Java會將該分號作爲else if的身體,和塊在大括號後它會始終執行。

刪除該分號將允許將它後面的大括號中的塊視爲else if的塊,這正是您的意圖。

2

這是一個錯字:您的第三個if聲明後有;

刪除,它會工作。

總是發生這種情況:D

相關問題