为什么下面的参数在未输入Java时显示?
我试图在Eclipse中运行此代码,但每当我尝试仅使用参数为什么下面的参数在未输入Java时显示?,java,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") ; }
-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" ) ;
}
}
}
消除
代码>在此行中:
else if ( args[0].equals("h") ) ;
Java将分号视为else if
的主体,并始终执行其后大括号中的块
删除分号将允许后面大括号中的块被视为的块,如果,则将其视为的块,这正是您的意图。这是一个输入错误:您有一个第三个if
语句后的code>
去掉它,它就会工作
这种情况经常发生:D