Sprungmarken

G

Guest99

Gast
Schönen Guten Abend,
ich habe folgendes Problem und zwar benutze ich NetBeans und habe jetzt ein Java Programm geschrieben, welches ungefähr so aufgebaut ist:
Java:
public static void main(String[] args)
    {
    Start:
        System.out.println();
        System.out.println();
        System.out.print(" Das Programm Startet ");

        while (wdh == true)
        {
            System.out.println("Auswahl: ");
            auswahl = Console.readChar();

            switch (auswahl)
            {
                case '8':
                    Console.clear();
                    break Start;    
                case 'x':
                    Console.terminate();
                    break;
                default:
                    Console.clear();
                    break;
            }
        }
Nun zeigt mir NetBeans aber in Zeile 17 einen Fehler an und sagt: undefined label: Start

Ich habe hier die Bücher Java Intensivkurs (Marco Block) und Handbuch der Java Programmierung vorliegen und in beiden wird es beschrieben, aber egal was ich auch mache, es wird immer der gleiche Fehler angezeigt.
Woran liegt das ???

Gruß,
Guest99
 

Cola_Colin

Top Contributor
Das Label muss direkt vor die Schleife.
Ohne schöne Formatierung zusammen kopiert:
Java:
public static void main(String[] args)
    {
    Start:
        while (wdh) // wdh ist schon boolean, da brauchst du das == true nicht. 
        {
        System.out.println();
        System.out.println();
        System.out.print(" Das Programm Startet ");
            System.out.println("Auswahl: ");
            auswahl = Console.readChar();
 
            switch (auswahl)
            {
                case '8':
                    Console.clear();
                    break Start;    
                case 'x':
                    Console.terminate();
                    break;
                default:
                    Console.clear();
                    break;
            }
        }
So sollte die Ausgabe dem entsprechen, was du dir vorstellest.
 
G

Guest99

Gast
Danke für den Tipp mit der boolean, ich hatte das bis jetzt immer so gemacht, aber man lernt ja immer dazu!

Ich kann die Sprungmarke aber leider nicht direkt vor die Schleife packen, weil dort eine einmal Variable eingelesen wird, mit der in der Schleife gearbeitet wird und ich möchte die Sprungmarke vor diesem Einlesen haben, sodass ich aus der Schleife springen kann um die Variable davor zu ändern. Sorry das kommt aus dem Code oben nicht hervor.

Java:
 public static void main(String[] args)
    {
    Start:
        System.out.print(" Wieviel Lang soll es sein: ");
        int laenge = Console.readInt();

        while (wdh == true)
        {
            System.out.println(" Auswahl:");
            auswahl = Console.readChar();

            switch (auswahl)
            {
                case '8':
                    Console.clear();
                    break Start;    
                case 'x':
                    Console.terminate();
                    break;
                default:
                    Console.clear();
                    break;
            }
        }
 

Noctarius

Top Contributor
Klar gibt es die aber die sind eher unschön und sollten vermieden werden. Wieso nicht einfach wdh = false setzen und mit break rausspringen?
 

Noctarius

Top Contributor
Java:
 public static void main(String[] args)
 {
	System.out.print(" Wieviel Lang soll es sein: ");
	int laenge = Console.readInt();
    
	boolean run = true;
	
	do {
		boolean wdh = true;
		
		while (wdh == true)
		{
			System.out.println(" Auswahl:");
			auswahl = Console.readChar();

			switch (auswahl)
			{
				case '8':
					Console.clear();
					wdh = false;
					break;
				case 'x':
					Console.terminate();
					break;
				default:
					Console.clear();
					run = false;
					break;
			}
		}
	} while (run);
}
 

Ähnliche Java Themen

Neue Themen


Oben