2013-03-12 85 views
2


我是java编程的新手,我想比较一个if语句中的java扫描器字符串。我怎样才能做到这一点?java扫描器字符串的比较

这是我怎么做的,但它不是给我的输出I预期:

Scanner oper = new Scanner(System.in); 
String op; 
System.out.println("Enter operator(+,-,*,/,%): "); 
op = oper.nextLine(); 
if (op=="+") 
{ 
    System.out.println("Answer is: "+fnum+snum); 
} 

我还没有为变量的代码FNUM和SNUM。

回答

4

op.equals("+") .. .equals()是如何比较两个字符串的Java中的序数相等。

所以,你的代码应该是这样的:

if ("+".equals(op)) 
{ 
    System.out.println("Answer is: "+fnum+snum); 
} 

==将比较String对象的两个引用时,String对象不是内容

+0

你必须不断的调用对象,以避免空支票和NPE。 'if(“+”。equals(op))' – basiljames 2013-03-12 05:58:39

+0

true,这也是正确的@basiljames – 2013-03-12 06:00:31

+0

@ShanDissanayake欢迎男子:-) – 2013-03-12 06:02:03