没有找到主要课程

时间:2014-08-01 05:45:43

标签: java

当我在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;
    }
}

4 个答案:

答案 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内部架构)

如果你真的需要返回一个值,请使用以下内容:

System#exit(int)

使用可由操作系统解释的特定退出代码启用程序退出。

答案 3 :(得分:0)

您必须稍微更改一下代码。它应该是:

public static void main(String args[])

主要方法的返回类型为void