作者MyLove (MyLove)
看板java
标题[问题] 字串比对
时间Mon Apr 25 15:58:50 2011
我使用str1.equals(str2)来判断str1是否与str2含有相同字串值
但是我发现中文没法直接做比较
请问我要加入哪些指令改善这种情况呢?
并且不让输出的中文变成乱码
http://pastebin.com/Xg2J4UWZ 全部的程式码
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.136.137
1F:→ james732:你是怎麽执行这只程式的? 04/25 16:12
※ 编辑: MyLove 来自: 140.121.136.137 (04/25 16:49)
2F:→ tkcn:先把 str1 印出来看看(length也顺便),应该会跟你想的不一样 04/25 17:02
3F:→ MyLove:String str1[]={"中文一"} 印出来会是乱码 04/25 17:20
4F:→ tkcn:你的 str1 到底是字串还是阵列? 04/25 17:29
5F:→ MyLove:字串 04/25 17:32
6F:→ tkcn:那请你告诉我你上面那推文的 str1 是什麽? 04/25 17:49
7F:→ MyLove:因为看到你说length顺便印来看看 所以就把字串改成阵列来 04/25 17:59
8F:→ MyLove:看>_< 04/25 18:01
9F:推 kevin771012:请把nextLine 改成 next ; nextLine 会读换行符号 04/25 18:08
10F:→ MyLove:我如果把阵列str2改成String str2[]={"3","4","5"} 04/25 18:13
11F:→ tkcn:String 有个 method 叫作 length() 04/25 18:14
12F:→ MyLove:就会跑出我希望的结果 只是输入的字串变成数字 04/25 18:16
13F:→ MyLove:我误会t大的意思了 不好意思 04/25 18:19
14F:→ MyLove:如果我输入"大雄" str1的length是3 str2中的大雄length是2 04/25 18:24
15F:→ MyLove:请问t大的意思是这样吗? 04/25 18:26
16F:→ kevin771012:sorry 刚刚直接复制内容贴上 所以就过了 04/25 18:33
※ 编辑: MyLove 来自: 140.121.136.137 (04/25 18:45)
17F:→ tkcn:程式没问题,如果length=3,应该是有whitespace,trim()滤掉就好 04/25 20:18
18F:→ james732:我把程式拿到Linux上面执行是完全ok的,因此觉得是环境 04/25 21:08
19F:→ MyLove:我是用 eclipse 的 04/25 21:10
20F:→ MyLove:换电脑测试是正常的 不好意思浪费大家的时间>_< 04/25 22:13
21F:推 gmoz:我自己测试是正常 把class档存成utf-8呢? 04/26 14:37
22F:→ gmoz:WIN7+记事本 04/26 14:38
23F:→ MyLove:存成utf-8也是一样 04/26 17:48