程序为了实现递归调用计算50的累加,可是运行有错误,为什么?
public class L4_16
{
public static int fun(int n)
{if(n==1) return 1;
else return(n+fun(n-1));
}
public static void main(String[] args)
{
int n=50;
System.out.println(n+"!="+fun(n));
}
}
public class L4_16
{
public static int fun(int n)
{if(n==1) return 1;
else return(n+fun(n-1));
}
public static void main(String[] args)
{
int n=50;
System.out.println(n+"!="+fun(n));
}
}
我在eclipse和命令行模式下都行啊.
是不是楼主的path没设置好.
Caused by: java.lang.ClassNotFoundException: L4_16.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
我是在命令行中运行的,出来上述错误。
public static double fun(int n) {
if (n == 1)
return n;
else
return n * fun(n - 1);
} public static void main(String[] args) {
// TODO 自动生成方法存根
int i = 50;
System.out.println(50 + "!=" + fun(i)); }
}
这个才是50!