我正在尝试解决基本练习(计算阶乘),但我遇到了错误。
我在IntelliJ工作
代码:
public class calculation {
public long factorial(long number) {
if (number <= 0) {
return 1;
}
else
return number * factorial(number - 1);
}
}
public static void main(String[] args) {
for(int counter = 0; counter <= 21; counter++)
{
System.out.printf("%d! = %d", counter, factorial(counter));
}
}
}
我收到错误:
错误:(18,30)java:class,interface或enum expected - 4个实例
我也尝试使用扫描仪从键盘读取一个数字,然后调用该函数,但我得到了相同的结果。
提前致谢。
答案 0 :(得分:0)
你有1个额外的结束括号,因此你的void main()不在课堂上。修复此问题并尝试再次运行代码。下面的代码运行正常。
` 公共课计算{
public static long factorial(long number) {
if (number <= 0) {
return 1;
}
else
return number * factorial(number - 1);
}
public static void main(String[] args) {
for(int counter = 0; counter <= 21; counter++)
{
System.out.printf("%d! = %d", counter, factorial(counter));
}
}
}