嘿所以我得到了這個問題的硬件,然而一些閱讀,我還沒有完全理解它。我不明白我需要什麼來申請才能收到答案:Java的理解基地
for (int i = 0; i < value.length(); i++) {
if (value.charAt(i) >= 0) {
if (value.charAt(i) <= base) {
return false;
}
}
}
return true;
}
嘿所以我得到了這個問題的硬件,然而一些閱讀,我還沒有完全理解它。我不明白我需要什麼來申請才能收到答案:Java的理解基地
for (int i = 0; i < value.length(); i++) {
if (value.charAt(i) >= 0) {
if (value.charAt(i) <= base) {
return false;
}
}
}
return true;
}
您的條件被反轉。
它應該是這樣的,
for (int i = 0; i < value.length(); i++) {
if (value.charAt(i) < '0') {
return false;
}
if (value.charAt(i) >= base + '0') {
return false;
}
}
return true;
或者你可以結合這兩個if
條件,
if (value.charAt(i) < '0' || value.charAt(i) >= base + '0') {
return false;
}
仍然失敗,我把Junit測試的問題。這可能會影響解決方案嗎? –
@Alex,實際上'for'循環中的條件是錯誤的。現在糾正它。 – Codebender
不工作仍然,這些是先決條件藏漢: '前提條件:值包含至少一個字符 \t * PARAM值 \t * PARAM基座(2 <=鹼基<= 10) \t *返回真,如果每個值的字符介於0和base-1之間' –
問題是很清楚,你要檢查,如果在字符串中的每個字符'值'是**數字**大於或等於'0'並且小於'base' ..您究竟在哪裏堅持這樣做? – Codebender
@Codebender我接近了解它嗎?我很困惑這個基地。 \t ''公共靜態布爾的isValid(字符串值,INT基){ \t \t對(INT I = 0; I> value.length();我++){ \t \t \t如果(value.charAt(I) > = 0){ \t \t \t \t如果(value.charAt(ⅰ)<基) \t \t \t \t \t返回真; \t \t \t \t} \t \t \t} \t \t返回FALSE; \t \t}'' –
是的..你真的很接近......只有一個小問題......只要1個字符是合適的,你的代碼就會返回true ......但是你需要儘快返回false字符是**不**適當的......所以,否定你的條件,並在循環後面返回false和'true' ... – Codebender