作者e40614 (e40614)
看板java
标题[问题] 新手程式问题
时间Sun Aug 26 20:29:21 2012
我的目的是判断输入字串里面的数字结合是不是1234
EX:1sd2fdf3hg4 的数字结合就是1234
可是我就算输入1234 他还是说数字结合不是1234= =
可是我print sb出来 明明就是1234阿
import java.util.*;
public class JB07_PT52 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String password=sc.nextLine();
StringBuffer sb=new StringBuffer();
for(int i=0;i<password.length();i++){
if(password.charAt(i)>=48&&password.charAt(i)<=57)
sb.append(password.charAt(i));
}
// System.out.println(sb);
if(sb.equals("1234")) System.out.println("输入字串中数字的结合是1234");
else System.out.println("输入字串中数字的结合不是1234");
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.228.248.172
※ 编辑: e40614 来自: 125.228.248.172 (08/26 20:31)
1F:→ e40614:感谢love大 问题已经解决了 08/26 20:38
2F:→ e40614:love的方法是用sb.toString().equals("1234") 08/26 20:59
3F:→ e40614:请问为什麽原本的方法不行啊@@? 08/26 21:00
4F:推 TaiwanXDman:因为sb是个StringBuffer 它的equals是继承Object的 08/26 21:08
5F:推 LaPass:sb.equals("1234") <= 把 StringBuffer 跟 String 比较 08/26 21:41
6F:→ e40614:喔喔~我还以为这样可以比较他们所存的字串 谢谢 08/26 21:50