2 freedom wings5 freedom_wings5 于 2016.03.30 22:59 提问

java,scanner输入的字符串,如输入yes判断却不等于yes

贴一贴

 package test;
import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Scanner scan=new Scanner(System.in);
         System.out.println("input now");
         String str=scan.next();
         if(str != "yes")
             System.out.println(str);
    }

}

我输入就是输入yes的,下面的if判断就是不相等,应该是scan.next()的返回值中带了什么转义字符吧,这个问题怎么解决?有什么方法能查看到其中的转义字符呢?

4个回答

wangjinjun
wangjinjun   2016.03.30 23:27
已采纳

String是个类,用==或!=比较是比较的内存地址,应该使用equals方法进行比较

caozhy
caozhy   Ds   Rxr 2016.03.30 23:03
 if(!str.equals("yes"))
qq_25827845
qq_25827845   2016.03.31 09:18

前面人回答的不错。equals才是比较内容是否相同

CSDNXIAOD
CSDNXIAOD   2016.03.30 23:02

java中Scanner输入字符串和BufferedReader输入字符串的区别
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!