Anfänger Probleme

felix6494

Mitglied
Hi, ich bin totaler Programmieranfänger und ich hoffe ihr könnt mir hier rasch helfen:

Ich poste jz mal meinen code und schreibe dann wie ihn eigentlich gerne gewollt hätte :(

Java:
import java.util.*;

public class fernseher {

	public static void main(String[] args) {

		System.out .println("Sie können zwischen drei Fernsehgeräten wählen, geben sie         bitte einen Wert zwischen 1 und 3 ein");

		Scanner Eingabe = new Scanner(System.in);
		int wert = Eingabe.nextInt();
		
		switch (wert) {
		case 1: {

			System.out.println("Sie haben das Sparmodell 1 gewählt");
			System.out.println();
			break;
		}

		case 2: {
			System.out.println("Sie haben einen guten Fernseher");
			System.out.println();
			break;
		}

		case 3: {
			System.out.println("Sie haben einen sehr guten Fernseher");
			System.out.println();
			break;
		}

		default: {
			System.out.println("Geben sie einen gültigen Wert ein");
			System.out.println();
			break;
		}
		}
		System.out.println("Schreiten wir nun zur Instllation voran");
		System.out.println();
		
		int kabel = 4;
		for (int i =1; i <= 4; i++){
			System.out.println ("Wir haben nun das " + i + "te Kabel richtig angeschlossen");
		}
		System.out.println();
		System.out.println ("Jetzt könne wir uns South Park ansehen");
	}
}


Problem 1: Wenn ich einen Wert eingebe der nicht zwischen 1 und 3 liegt, dann gibt er mir zwar die Meldung aus dass es ein falscher Wert ist aber ich muss das Programm vorher neustarten und wieder einen neuen richtigen Wert eingeben anstatt gleich unter der Fehlermeldung nochmal einen neuen Wert einzugeben. Wie kann ich das ändern?

Problem 2: Wenn ich einen falschen Wert eingebe hüpft mir JAVA trotzdem weiter und gibt mir alles danach auch aus (die schleife etc.) Wie muss ich dass abändern?

Ich hoffe ihr könnt mir helfen denn bis jz wurde ich aus google nicht richtig schlau und die geisitge ermattung setzt auch schon ein. :noe:
 
M

Marcinek

Gast
Also für 1. würde ich do-while Schleife nehmen und unten noch ein if() vor machen?
 

felix6494

Mitglied
eine do-while schleife? tut mir leid aber da kann ich mir jz gar nicht vorstellen wie das funktionieren soll. könntest du mir da ein paar hilfen geben?
 

felix6494

Mitglied
danke, lmgtfy hilft mir im augenblick echt extrem.

ich weis wie die syntax ausschaut weis aber nicht wie ich eine do while schleife auf mein "programm" anwenden soll.
 
M

Marcinek

Gast
Naja wie würde man das machen

mache:
besorge zahl
wenn zahl kleiner als 1 oder grüßer als 3 dann sage, nönönnö
solange zahl kleiner als 1 oder größer als 3
 

Xeonkryptos

Bekanntes Mitglied
Java:
boolean b;

		do {
			switch (wert) {
			case 1: {

				System.out.println("Sie haben das Sparmodell 1 gewählt");
				System.out.println();
				break;
			}

			case 2: {
				System.out.println("Sie haben einen guten Fernseher");
				System.out.println();
				break;
			}

			case 3: {
				System.out.println("Sie haben einen sehr guten Fernseher");
				System.out.println();
				break;
			}

			default: {
				System.out.println("Geben sie einen gültigen Wert ein");
				System.out.println();
				break;
			}
			}
			if (wert < 1 || wert > 3) {
				b = true;
			} else {
				b = false;
			}
		} while (b);

So müsste das aussehen. Dadurch wird es solange wiederholt, bis die Eingabe korrekt ist und so wird vorher auch der Rest nicht ausgegeben.
 
D

Dow Jones

Gast
Der Block einer do-while-Schleife wird solange wiederholt, wie die Bedingung - die hier am Ende jedes Schleifendurchlaufs überprüft wird - erfüllt ist. Im Klartext heisst das: Eine do-while-Schleife wird in jedem Fall mindestens einmal durchlaufen. Ein weiterer Durchlauf (bzw. beliebig viele weitere Durchläufe) erfolgen nur dann, wenn die Bedingung am Ende erfüllt ist. Dementsprechend erfolgt kein weiterer Durchlauf wenn die Bedingung verletzt ist.

Die Bedingung in deinem Programm wäre wohl das der eingebene Wert nicht zwischen 1 und 3 liegt (man beachte die negative Logik: Eigentlich möchten wir ja das der Wert zwischen 1 und 3 liegt, aber als Bedingung für eine Wiederholung der Schleife müssen wir eben angeben das unser Wert nicht unseren Wünschen entspricht. Deswegen soll der Schleifenkörper ja wiederholt werden). Solange dies also nicht erfüllt ist soll der Schleifenkörper immer und immer wieder ausgeführt werden, solange bis der Eingabewert im richtigen Intervall liegt. Das könnte man im Programm so ausdrücken:
Code:
do {
   eingabewert abfragen
   auf eingabewert entsprechend reagieren (z.B. eine Meldung ausgeben)
} while ( (eingabe<1) oder (eingabe>3) )

Die Bedingung am Ende([c](eingabe<1) oder (eingabe>3)[/c]) sorgt dafür das der Schleifenkörper wiederholt wird wenn der Eingabewert kleiner als 1 oder größer als 3 ist, also nicht zwischen 1 und 3 liegt. Wenn der Eingabewert dagegen "in Ordnung" ist, also zwischen 1 und 3 liegt, dann ist die Bedingung für die Schleifenwiederholung verletzt, der Schleife wird demnach nicht wiederholt, und das Programm wird mit der nächsten Programmzeile fortgesetzt.
 

Xeonkryptos

Bekanntes Mitglied
Dadurch sagst du halt, dass dein Wert falsch ist, aber der User kann keine weitere Eingabe tätigen. Du müsstest ihm die Möglichkeit geben, die Eingabe zu korrigieren. Also müsstest du in die do-while-Schleife noch eine neue Zuweisung einbauen, so wie die Überprüfung durch die switch.
 

felix6494

Mitglied
Bei Falscheingabe hängt derzeit das Programm in einer Endlosschleife fest,wie kann ich das noch abändern? Wie muss ich die Schleife verändern? kann man da irgendwie eine break anweisung einbauen?

EDIT: hat sich erledigt, ich hab die Schleife einfach so gesetzt dass sie nicht wieder beim switch einsteigt sondern ganz am Anfang. Danke für eure Hilfe! :applaus:
 
Zuletzt bearbeitet:

Xeonkryptos

Bekanntes Mitglied
Du müsstest die Eingabe des Users da reinpacken:
Java:
do {
eing = eingabe.next();
} while(...);

Dadurch wartet das Programm solange, bis der User eine Eingabe getätigt hat. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
R Erste Schritte Anfänger Probleme bei AnimationDrawable Java Basics - Anfänger-Themen 0
S Java für Anfänger: Probleme mit read() Java Basics - Anfänger-Themen 20
L Klassen Anfänger braucht Hilfe! Probleme mit Javakara.jar Java Basics - Anfänger-Themen 25
T Anfänger hat Probleme mit Array einlesen ;) Java Basics - Anfänger-Themen 13
N Probleme mit Variablen als Anfänger Java Basics - Anfänger-Themen 3
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
H Threads Anfänger Java Basics - Anfänger-Themen 17
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
K Buchstabenzähler Java (Anfänger) Java Basics - Anfänger-Themen 35
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
K Java Anfänger Java Basics - Anfänger-Themen 5
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
F Hilfe, bin Anfänger! Java Basics - Anfänger-Themen 4
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
F Abrechnungsprogramm erstellen Student (Anfänger) Java Basics - Anfänger-Themen 2
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
Textsurfer Methoden Anfänger * Java Basics - Anfänger-Themen 5
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
C verwirrter Anfänger Java Basics - Anfänger-Themen 6
L Verzinsungsprogramm (Java-Anfänger) Java Basics - Anfänger-Themen 3
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
H Methoden Bluej Anfänger Java Basics - Anfänger-Themen 13
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
D Anfänger-Problem mit dem HalloWelt-Programm Java Basics - Anfänger-Themen 5
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
J Anfänger hat Problem mit seinen Beet Java Basics - Anfänger-Themen 12
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
N Anfänger Problem Java Basics - Anfänger-Themen 4
GoodGuy [Anfänger] Kann mal wer drüber gucken? Java Basics - Anfänger-Themen 3
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taxiwarteschlange - Anfänger Java Basics - Anfänger-Themen 2
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
I Java, Application, Eclipse (Anfänger) Java Basics - Anfänger-Themen 1
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
C Anfänger: Array + Klasse Java Basics - Anfänger-Themen 5
S OOP Uhrenanzeige programmieren, Achtung Anfänger! Java Basics - Anfänger-Themen 9
B Compiler-Fehler Ein Java-Eclipse-Anfänger geht auf Reisen... Java Basics - Anfänger-Themen 10
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
I Erste Schritte Bücher für Jungedliche[Anfänger] Java Basics - Anfänger-Themen 20
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
D error: Class names, >>>HILFE, anfänger<<< Java Basics - Anfänger-Themen 4
J Hilfe für Anfänger Java Basics - Anfänger-Themen 8
E OOP Methode an andere Methode übergeben / OOP Anfänger Java Basics - Anfänger-Themen 4
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
H MergeSort (für Anfänger ) Java Basics - Anfänger-Themen 9
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
J Erste Schritte Hilfe bei absolutem Anfänger-Projekt Java Basics - Anfänger-Themen 4
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
A Erste Schritte Übungen für Anfänger Java Basics - Anfänger-Themen 31
M Sieb des Eratosthenes für Anfänger Java Basics - Anfänger-Themen 10
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6
G Anfänger-Errors und Fragen Java Basics - Anfänger-Themen 22
P [Anfänger] DiceGame Aufagbe Java Basics - Anfänger-Themen 23
C Input/Output Anfänger Array-Verständnis Frage Java Basics - Anfänger-Themen 7
W Erste Schritte OOP-Lektüre für Anfänger/Umsteiger von Clipper auf Java Java Basics - Anfänger-Themen 6
J Welches Java-Videotutorial für Anfänger empfehlenswert? Java Basics - Anfänger-Themen 7
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
P Java anfänger tutorial gesucht Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben