二级问题
来源:百度知道 编辑:UC知道 时间:2024/08/22 00:29:11
这是我从一本二级JAVA辅导资料上copy下来的一道选择题,但编译是会报错,请各位大虾们看看哪错了。还有就是最后一句return n*Method(n-1);到底怎么计算啊?public int Method(int n)的返回值是int类型,但n又没赋值,咋整?Method(n-1)是不是又把n-1赋给n啊?
public class ex68
{
public static void main(String[] args)
{
ex68 obj=new ex68();
int s=0;
for(int i=1;i<=4;i++)
{
s+=obj.method(i);
}
System.out.println(s);
}
public int Method(int n)
{
if(n==1)
return 1;
else
return n*Method(n-1);
}
}
ex68.java:9: 找不到符号
符号: 方法 method(int)
位置: 类 ex68
s+=obj.method(i);
^
ex68.java:9: 不可转换的类型
找到: <nulltype>
需要: int
s+=obj.method(i);
public class ex68
{
public static void main(String[] args)
{
ex68 obj=new ex68();
int s=0;
for(int i=1;i<=4;i++)
{
s+=obj.method(i);
}
System.out.println(s);
}
public int Method(int n)
{
if(n==1)
return 1;
else
return n*Method(n-1);
}
}
ex68.java:9: 找不到符号
符号: 方法 method(int)
位置: 类 ex68
s+=obj.method(i);
^
ex68.java:9: 不可转换的类型
找到: <nulltype>
需要: int
s+=obj.method(i);
s+=obj.method(i); ,M大写啦
n的值是s+=obj.Method(i); 传参过来的呀
2级要考java的 ? 我才知道呢..哈哈
这个就是传说中的“递归” 可以找本关于数据结构方面的书看一下