我想创建一个方法,它接受用户输入的数字,测试数字中的每个数字是否为奇数,如果全部都是奇数则返回真,如果全部都是偶数则返回假。继承人的代码。为什么有些值即时获取错误,但其他人不是?
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