2016-11-03 3 views
1

I Java Kurs in der Schule gerade erst begonnen, ich versuche, das Konzept der OOPs zu verstehen, so schrieb ich dieses Programm:NetBeans - Kann nicht Hauptklasse finden

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); 

     } 
    } 

Das Problem ist, dass jedes Mal, wenn ich versuche, um das Programm zu starten, sagt NetBeans, dass es die Hauptklasse nicht finden kann, die Lamp.Lamp ist Ich benutze das Konzept von , aber es setzt das Gleiche fort.

Vielen Dank im Voraus!

+3

Ihr 'main' hat die falsche Signatur. Es sollte 'public static void main (String [] Argumente)' sein. Siehe https://docs.oracle.com/javase/tutorial/getStarted/application/ – bradimus

Antwort

0

Ist das vielleicht ein ähnliches Problem?

Netbeans - Error: Could not find or load main class

Try Reinigung und das Projekt neu zu kompilieren. Manchmal bleibt eine ältere Version eines Programms im Cache hängen und die neue Version kann nicht ausgeführt werden.

Versuchen Sie auch, eine öffentliche Erklärung public static void main(String[] args) zu der Hauptmethode am Ende Ihres Programms hinzufügen und sehen, ob das hilft.

+1

'Versuchen Sie auch, eine öffentliche Deklaration hinzuzufügen ...', nun, das sollte eigentlich die erste Zeile Ihrer Antwort sein;) Das wird helfen – AxelH

2
void main(){ 

sollte

public static void main(String[] args) { 

public macht es sichtbar verändert werden.

static ermöglicht es, die Methode aufzurufen, ohne zuerst das Objekt zu konstruieren.

Die Erklärung dafür, warum dies erforderlich ist, in den link ist von @bradimus erwähnt

+1

Nee. 'public static void main()' ist nicht korrekt. Versuchen Sie 'public static void main (String [] args)' – bradimus

+1

Vielen Dank! Ich habe deinen Kommentar zu dem Beitrag gesehen, direkt nachdem ich meine Antwort gepostet habe. Dein Link zur Antwort hinzugefügt! – dubes

0

Recht Projekt klicken -> auf Eigenschaften klicken -> Ausführen klicken -> Browse -> Ihre Hauptklasse hinzuzufügen.

Auch shoud Sie verwenden:

public static void main(String[] args) { 

als Start für eine Main-Methode.

Hoffnung, dass dies hilft :-)

+1

Das Hauptproblem ist der See der Hauptmethode, nicht die Art, die Anwendung zu starten. Run auf die spezifische Java-Datei würde funktionieren. – AxelH

0

allererst Ihre main() ist falsch, sollte es sein public static void main(String args[]) dann müssen Sie Ihre Variable als statisch static boolean state; static String color;

überprüfen Sie Ihren Code declear

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); 

     } 
    } 
Verwandte Themen