最佳答案
您正在尝试在factorial
方法内部创建一个称为main
的方法。它必须在它旁边,而不是在它里面。
可读且一致地格式化代码有助于使问题更清楚:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.getInt();
System.out.println(factorial(n));
int factorial(int a) { // <=== Problem
if (a == 0)
return 0;
else
return (a * factorial(a - 1));
}
}
}
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.getInt();
System.out.println(factorial(n));
}
int factorial(int a) {
if (a == 0)
return 0;
else
return (a * factorial(a - 1));
}
}
factorial
必须是static
,或者您需要创建一个实例来调用它),但是现在在正确的位置。
https://stackoverflow.com/questions/41675942/
相关文章:
java - Kotlin + Dagger 2 : Dagger* files won't generate
java - 如何重定向 Groovy 脚本的输出?
c# - 引用Shell32.dll?
c++ - fatal error :iostream:Code::Blocks 中没有这样的文件或目录
objective-c - 不允许分配给 'readonly' 返回结果,但属性声明为 "readwrite"
java - 如何在 android studio 中单击按钮时更改另一个 Activity 中的 TextView 文本?
java - Ivy 间接依赖项列出两次
c++ - 无法将模板类通过管道传递给 cout
java - 防止java.lang.StackOverflow错误简单sql池
c++ g++ & boost, token "("之前缺少二元运算符
相关文章:
java - “Cannot find symbol class keyboard reader”
java - 我的method.add(int)不会将用户输入添加到我的数组中
c# - 为什么编译器认为Environment.Exit可以返回?
swift - 类型 'Category'(aka 'OpaquePointer')的值没有成员 '
c++ - 编译器错误: not declared in the scope
ruby-on-rails-3 - 在命名空间模型上使用 factory_girl_rails 和