利用对象作为参数,得到阶乘的值
以下是老师给的提示,但我觉得将Fact方法的参数个数增加为两个好奇怪,一个不行吗
class Fact{
float fact (int n) //定义计算n!的方法
{
int i;
float x =1;
for(i=1;i<n;i++){
x=x*i;}
return x;
}
}
public class Check1{
public static void main (String args[ ])
{
Fact x =new Fact( );
System.out.println(x.fact(10)); //计算10!
System.out.println(x.fact(15)); //计算15!
}
}
将上面Fact方法的参数个数增加为两个,其中一个参数的类型设为类类型;方法的返回值类型改为void。
看错了,这次我纱布了
返回void的话,需要传入一个对象,将结果保存在传入对象的成员中
[解决办法]
返回void的话,需要传入一个对象
[解决办法]
class Fact{
void fact (int n, long[] result) //定义计算n!的方法
{
if (result == null)
return;
int i;
long x =1;
for(i=1;i<n;i++){
x=x*i;}
long[0]=x;
}
}
public class Check1{
public static void main (String args[ ])
{
Fact x =new Fact( );
long[] r10 = {0};
long[] r15 = {0};
x.fact(10, r10);
x.fact(15, r15);
System.out.println(r10[0]); //计算10!
System.out.println(r15[0]); //计算15!
}
}