关于文本框内的文本与字符窜比较的问题
JLabel lb2=new JLabel("学生性别: ");单个字母"F"或"W"
JTextField tf2=new JTextField(5);文本框
xb[i]=tf2.getText();读取文本给xb[i]储存
if(xb[j]=="W")比较(但是我怎么也比较不了啊,请各位高手,大哥指教!!!!)
IF下的语句都不执行,好象xb[i]里的都不是接受到"W",但是我输入了很多"W"(性别里)
问题点数:20、回复次数:9Top
1 楼Roxxette(垂直极限)回复于 2006-01-13 16:33:51 得分 20
你的xb是什么类型啊?getText()返回String,我看还是这样比较好
String s = tf2.getText();
if (s.indexof("w") >= 0) ...Top
2 楼ENOUGH_XU(苦点,累点->没关系)回复于 2006-01-13 16:50:07 得分 0
xb是一个字符窜数组Top
3 楼xyz25900(天地)回复于 2006-01-13 16:53:18 得分 0
在.java文件里比较字符串用
字符串变量.equals("W")Top
4 楼ENOUGH_XU(苦点,累点->没关系)回复于 2006-01-13 16:59:08 得分 0
谢谢,兄弟啊,我经过你的启发我想通了啊.分给你了.
还有 想问一下从文本框内读取的字符窜是不是不单单是输入的"W"或者"F",还有别的,所以总是不能相等呢??!!!
给的点理论!谢谢Top
5 楼ENOUGH_XU(苦点,累点->没关系)回复于 2006-01-13 17:00:54 得分 0
分给垂直极限,下面的朋友的方法我试过,好像不行.谢谢
Top
6 楼HeiSeWaiKe(黑色外壳)回复于 2006-01-13 17:09:51 得分 0
这里绝对应该用equals
Top
7 楼HeiSeWaiKe(黑色外壳)回复于 2006-01-13 17:14:46 得分 0
用indexof还要额外进行长度限制或判断,绕
用equals好像不行?不太可能,加上trim试一试Top
8 楼Roxxette(垂直极限)回复于 2006-01-13 17:19:08 得分 0
String跟String[]是有区别的,最好是用println打出来自己看,如果怀疑有不可见字符,就用getBytes打二进制出来看。字符串比较是应该用.equal的
ps:比较奇怪为啥性别是W/F?? 窃以为应该是M/F(Male/Famale)或者W/M(Woman/Man)Top
9 楼angel_bear(angelbear)回复于 2006-01-13 17:24:58 得分 0
java中的字符串类型是作为对象来处理的
你需要用.equal()方法来比较或者是compareto方法Top





