读书人

美女的烦恼?解决方法

发布时间: 2012-02-16 21:30:36 作者: rapoo

美女的烦恼?
//要求编写任意数n从键盘输入,以递归的方式计算1+2+3+...+n .
import java.io.*;
public class digui1
{
public static void main(String args[]) throws IOException
{
BufferedReader buf;
String str;
int n, m;
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.println( "Input your number: ");
str=buf.readLine();
n=Integer.parseInt(str);
m=fac(n);
System.out.println( "1+2+3+...+n= "+m);
}
public static int fac(int n)
{
if(n==1)
return 1;
else
return (fac(n-1)+1);
}
}

我的结果
E:\java> java digui1
Input your number:
10
1+2+3+...+n=10
(怎么上一行的结果会等于10呢?)谢谢各位好心的大哥哥帮我改改!

[解决办法]
public static int fac(int n)
{
if(n==1)
return 1;
else
return (fac(n-1)+1);//这一句错了, return (fac(n-1) + n)
}
}

[解决办法]
...........
[解决办法]
return (fac(n-1)+n);
正解
[解决办法]
改成

return (fac(n-1)+n);

读书人网 >J2SE开发

热点推荐