我想創建一個方法,它接受用戶輸入的數字,測試數字中的每個數字是否爲奇數,如果全部都是奇數則返回真,如果全部都是偶數則返回假。繼承人的代碼。爲什麼有些值即時獲取錯誤,但其他人不是?
public static boolean allDigitsOdd(int num){
int digits[] = new int[10];
int numDigits = 0;
String numTemp = Integer.toString(num);
while(num > 1){
num = num/10;
numDigits++;
}
numDigits++;
for(int i = 0; i < numDigits; i++){
digits[i] = numTemp.charAt(i) - '0';
System.out.println(digits[i]);
}
for(int i = 0; i < numDigits; i++){
if(digits[i] % 2 == 0){
return(false);
}
if(i == numDigits){
return(true);
}
}
return(true);
}
當我輸入「1234」或「1357」,它的偉大工程,並返回正確的布爾但是當我鍵入幾乎任何東西,它給了我一個「字符串索引超出範圍」的錯誤在
digits[1] = numTemp.charAt(i) - '0';
你可能想檢查負數? – 2014-09-30 13:16:27
如果有奇數和偶數混合會怎麼樣?它必須返回什麼? – 2014-09-30 15:16:54