我是这一切的新手。.谢谢
很好奇为什么这行不通。
它告诉我public int sumFirst(int n)是表达式的非法开头。
package program8;
public class Program8 {
public static void main(String[] args) {
public int sumFirst(int n)
{
Scanner input = new Scanner(System.in);
n = input.nextInt();
if (n == 0)
return 0;
else
return sumFirst(n-1) + sumFirst(n-2);
}
}
答案 0 :(得分:0)
例如,您试图在主方法中定义一个方法,该方法将不起作用。方法只能在类级别定义。
其次,n = input.nextInt();
方法内的sumFirst
将针对每次递归执行,这可能不是您想要的。
尝试以下方法:
public class Program8 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(sumFirst(input.nextInt()));
}
public int sumFirst(int n) {
if (n == 0) {
return 0;
} else {
return sumFirst(n-1) + sumFirst(n-2);
}
}
}