当我在NETBEANS IDE 8.0
中播放它时,即使我已经添加了主要课程,它仍然说没有主课程?
需要帮助无法理解。
PS。如果我删除 magic()中的静态,它会阻止main中的magic()。
package fibotail;
import java.util.Scanner;
public class Fibotail {
public static int fibo(int control, int currentValue, int previousValue) {
if (control < 2) {
return currentValue;
}
return fibo(control - 1, currentValue + previousValue, currentValue);
}
public static void magic() {
String cCharacter;
do {
System.out.println("Input here: ");
int something = new Scanner(System.in).nextInt();
for (int i = 1; fibo(i, 0, 1) <= something; i++) {
System.out.println(fibo(i, 0, 1));
}
do {
System.out.println("Do you want to try again? ");
cCharacter = new Scanner(System.in).next();
} while (!(cCharacter.equals("y") || cCharacter.equals("Y") || cCharacter.equals("N") || cCharacter.equals("n")));
} while (cCharacter.equals('y') || cCharacter.equals('Y'));
}
public static int main(String args[]) {
magic();
return 0;
}
}
答案 0 :(得分:2)
返回类型应为void
,而不是int
:
public static void main(String args[]) { ... }
JVM查找方法的确切签名。
答案 1 :(得分:1)
您的main()
method
必须有返回类型void
public static void main(String[] args){
}
不是int
或其他。
main()
方法是程序的入口点,JVM看起来是精确的main()
方法。
答案 2 :(得分:1)
当你运行你的项目时,你会得到:
Error: Main method must return a value of type void in class MainTest, please
define the main method as:
public static void main(String[] args)
在java之外的其他语言中,main返回int(例如C和C ++),main的返回代码成为进程的退出代码,命令解释器和其他外部程序经常使用它来确定进程是否完成成功。
但java需要void作为返回值。 (Java内部架构)
如果你真的需要返回一个值,请使用以下内容:
使用可由操作系统解释的特定退出代码启用程序退出。
答案 3 :(得分:0)
您必须稍微更改一下代码。它应该是:
public static void main(String args[])
主要方法的返回类型为void