我想比較一個4位字符串使用charAt(x)到一個整數,以便找出該字符串中有多少個整數。在字符串中搜索整數。數據類型不匹配?
public static boolean tickets(int numbers) {
int a = (numbers/100000);
int b = (numbers/10000) - a*10;
int c = numbers - a*100000 - b*10000;
int x = 0;
int count = 0;
String s = String.valueOf(c);
if (numbers/100000 == 0 || numbers/100000 > 9) {
return false;
}
if (numbers <= 0) {
return false;
}
while (x < 4) {
if (s.charAt(x) == a) {
count = count + 1;
}
x = x + 1;
}
if (count == b) {
return true;
} else {
return false;
}}
我不會侮辱任何人的情報,並說這是不是一門功課的問題:它是。提示是輸入一個數字(如果是負數或不是6位數字,則返回'false
')。爲了得到'true
'的回報,該號碼必須具有第一位數字和第二位數字的最後一位數字(什麼?!)。例如,121001將返回true
,因爲在最後4位數字中有1次2次。
不管怎麼說,我的問題是,即使s.charAt(x)
將具有相同的價值a
,至少當我打印出來,並檢查(它們都打印的9或東西即會),我count
變量似乎並沒有讓步。我有一個數據類型不匹配?我能做些什麼來解決這個問題?還是我完全用錯誤的方式來解決這個問題?
提前致謝!
你想了解一些基本類型的差異。 'charAt()'顯然返回一個char值......這是可以與int數相比較的,但是究竟是什麼讓你認爲例如字符「1」等於1? [提示:不是...你想簽出像ASCII,代碼頁等所有東西] – GhostCat
備註'(如果爲負數,或不是6位數,則返回'false')'只需要'if(numbers <100000){return false;}'不需要計算 –