为什么以下参数显示未在Java中输入?

时间:2013-07-23 00:27:12

标签: java

我正在尝试在Eclipse中运行此代码,但每当我尝试仅使用参数-es运行时,就像我输入-es-h一样。这是代码:

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" ) ; 
        }
    }
}

2 个答案:

答案 0 :(得分:6)

消除此行中的;

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

Java将分号视为else if的主体,并且在它之后的大括号中的块将始终执行。

删除该分号将允许将跟随它的大括号中的块视为else if的块,这就是您的意图。

答案 1 :(得分:2)

这是一个错字:你的第三个;声明之后有一个if

删除它,它会起作用。

这种情况一直在发生:D