作者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)
→ e40614:感謝love大 問題已經解決了 08/26 20:38
→ e40614:love的方法是用sb.toString().equals("1234") 08/26 20:59
→ e40614:請問為什麼原本的方法不行啊@@? 08/26 21:00
推 TaiwanXDman:因為sb是個StringBuffer 它的equals是繼承Object的 08/26 21:08
推 LaPass:sb.equals("1234") <= 把 StringBuffer 跟 String 比較 08/26 21:41
→ e40614:喔喔~我還以為這樣可以比較他們所存的字串 謝謝 08/26 21:50