问题描述
- 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()的返回值中带了什么转义字符吧,这个问题怎么解决?有什么方法能查看到其中的转义字符呢?
解决方案
String是个类,用==或!=比较是比较的内存地址,应该使用equals方法进行比较
解决方案二:
if(!str.equals("yes"))
解决方案三:
前面人回答的不错。equals才是比较内容是否相同
解决方案四:
java中Scanner输入字符串和BufferedReader输入字符串的区别
时间: 2024-09-30 20:52:00