我刚在大学开始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
的概念,但它一直在做同样的事情。
提前致谢!
答案 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);
}
}