NetBeans - 无法找到主类

时间:2016-11-03 14:21:46

标签: java class object

我刚在大学开始Java课程,我试图理解OOPs的概念所以我写了这个程序:

package Lamp;
import java.util.*;

    public class Lamp {
    public Scanner input= new Scanner(System.in);
        boolean state;
        String color;

        public Lamp() {
            state = false;
            color = "Blue";
        }

        public boolean toggleState() {
            if (state == false) {
                state = true;
            }
            if (state == true) {
                state = false;
            }
            System.out.println("State is now: " +state);
            return state;
        }

        public String chooseColor(){
            System.out.println("Please choose a new color");
            color= input.nextLine();
            System.out.println("Color is now: " +color);
            return color;
        }

        void main(){
        Lamp L1= new Lamp();
        System.out.println("State is now: " +state);
        System.out.println("Color is now: " +color);

        L1.toggleState();
        L1.chooseColor();

        System.out.println("State is now: " +state);
        System.out.println("Color is now: " +color);

        }
    }

问题在于每次我尝试运行程序时,NetBeans都说它无法找到Lamp.Lamp的主类。 我使用的是packagename.classname的概念,但它一直在做同样的事情。

提前致谢!

4 个答案:

答案 0 :(得分:2)

void main(){

应改为

public static void main(String[] args) {

public让它可见。

static可以在不先构造对象的情况下调用方法。

为什么需要这样做的解释是@bradimus提到的link

答案 1 :(得分:0)

它可能是一个类似的问题吗?

Netbeans - Error: Could not find or load main class

尝试清理并重新编译项目。有时程序的旧版本会卡在缓存中,而新程序无法运行。

另外,尝试在程序结束时向main方法添加公开声明public static void main(String[] args),看看是否有帮助。

答案 2 :(得分:0)

右键单击您的项目 - >点击属性 - >点击运行 - >浏览 - >添加你的主类。

你也应该使用:

public static void main(String[] args) {

作为Main方法的开始。

希望这会有所帮助: - )

答案 3 :(得分:0)

首先你的main()是错误的,它应该是public static void main(String args[]) 然后你需要将你的变量解析为静态static boolean state;         static String color;

检查您的代码

package Lamp;
import java.util.*;

    public class Lamp {
    public Scanner input= new Scanner(System.in);
        static boolean state;
        static String color;

        public Lamp() {
            state = false;
            color = "Blue";
        }

        public boolean toggleState() {
            if (state == false) {
                state = true;
            }
            if (state == true) {
                state = false;
            }
            System.out.println("State is now: " +state);
            return state;
        }

        public String chooseColor(){
            System.out.println("Please choose a new color");
            color= input.nextLine();
            System.out.println("Color is now: " +color);
            return color;
        }

       public static void main(String args[]){
            Lamp L1= new Lamp();
            System.out.println("State is now: " +state);
            System.out.println("Color is now: " +color);

            L1.toggleState();
            L1.chooseColor();

            System.out.println("State is now: " +state);
            System.out.println("Color is now: " +color);

        }
    }