黑马程序员技术交流社区

标题: 谁能破 [打印本页]

作者: 滴滴答答的响    时间: 2017-3-15 13:09
标题: 谁能破
可不可以用输入中文作为判断条件,例如while("完了".equals(line))   { break; }  ,为什么我输入"完了",不执行break . 我试过了英文字符串可以,谁能教教我,是不是不能用equals,我用 == 也不行.输入其他中文,在输入"完了",居然不执行break
作者: dongrangg    时间: 2017-3-15 13:11
那就是不可以被



作者: 亮仔开发    时间: 2017-3-15 17:11
equals 比较的是地址值,要想比较字符串内容是否相同,要用egnore()。
作者: mrwalker    时间: 2017-3-16 09:51
[Java] 纯文本查看 复制代码
public class Test3 {

        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入完了:");
                String line = sc.nextLine();
                while("完了".equals(line)) {
                        break;
                }
                System.out.println("你真的完了");
        }

}


运行结果:
请输入完了:
完了
你真的完了

表示没问题啊
作者: Tupurp    时间: 2017-3-17 16:34
亮仔开发 发表于 2017-3-15 17:11
equals 比较的是地址值,要想比较字符串内容是否相同,要用egnore()。

你说反了。equals 比较的才是内容,==比较的是地址。如图中,执行结果是 true  false  true  true


3.png (135.25 KB, 下载次数: 15)

3.png

作者: 滴滴答答的响    时间: 2017-3-17 17:38
mrwalker 发表于 2017-3-16 09:51
[mw_shl_code=java,true]public class Test3 {

        public static void main(String[] args) {

你先输入其他中文,在输入完了试试
作者: 亮仔开发    时间: 2017-3-17 23:58
尴尬,茧绸了。。。。。
作者: 陈大仙…    时间: 2017-3-18 09:17
我也可以啊{:8_478:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2