【发布时间】:2014-04-11 09:46:40
【问题描述】:
我试图让下面列出的代码接收来自用户的 int 输入,然后在该 int 中找到偶数的数量。当我尝试打印退货时出现错误...有什么帮助吗?
import java.util.Scanner;
public class evenDigits {
public static int countEvenDigits(int number){
if (number == 0)
return 0;
else{
int lastDigit = number % 10;
int result = countEvenDigits(number / 10);
if (lastDigit % 2 == 0)
return result + 1;
else
return result;
}
}
public static void main(String[] args) {
System.out.println("Please enter an integer.");
Scanner keyboard = new Scanner(System.in);
int number = keyboard.nextInt();
countEvenDigits(number);
System.out.println("There are " + result + " even digits in " + number);
}
}
具体来说,这个语句有错误:
System.out.println("There are " + result + " even digits in " + number);
【问题讨论】:
-
具体来说,这条语句有错误:System.out.println("There are " + result + " even numbers in " + number);
-
您在 main 中没有收到来自
countEvenDigits的返回值!您甚至还没有在 main 中定义result。 -
在您的主目录中尝试
int result = countEvenDigits(number);。result仅在方法中声明,不在您的 main 中。 -
太好了,谢谢!
-
不,它们可以是单独的变量。
标签: java recursion user-input