Anfrage- wiederholen Ja oder Nein

nZxTnOS

Mitglied
Ich bin neu hier und arbeite erst seit einigen Tagen mit Java

Meine Aufgabe: Reifendruck prüfen! Am Ende Anfrage->Wiederholen Ja/Nein?

Meine Frage ist nun, wie bau ich da jetzt die Wiederholung ein?
Kann jemand mir bitte bei helfen? Hab nämlich keine Idee mehr wie man die Wiederholung programmiert

Java:
import java.util.Scanner;
public class Reifendruck{
public static void main(String[] args){
Scanner kbd= new Scanner (System.in);


System.out.println("Gebe bitte den Reifendruck vorne links an!");
int vlinks=kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
int vrechts= kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck hinten links an!");
int hlinks= kbd.nextInt ();
System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
int hrechts= kbd.nextInt() ;
boolean vorneok=false, hintenok=false;


if(vlinks==vrechts) vorneok=true;
if(hlinks==hrechts) hintenok=true;
if(vorneok==true && hintenok==true)
System.out.println("Der Reifendruck ist ok!");



if(vorneok==false || hintenok==false)
System.out.println("Der Reifendruck ist unterschiedlich");



 if(vorneok==false){
System.out.println("Der Reifendruck vorne ist unterschiedlich!");
if(hintenok==false)
System.out.println("Der Reifendruck hinten ist unterschiedlich!");
}
 }
 

pro2

Bekanntes Mitglied
Mach doch z. B. eine Endlosschleife um deinen aktuellen Code. Also entweder
Java:
for(;;){

}

//oder

while(true){

}

Wenn dann "ja" geantwortet wird, fängt das Programm einfach wieder oben an. Wenn nein, könntest du es schließen.
Oder du erstellst dir eine Variable wie "running" und fragst diese in einer while Schleife ab. Wenn dann nein geantwortet wird, wird diese false gesetzt.
 

nZxTnOS

Mitglied
Danke dir schonmal für deine Hilfe!
Kannst du mir das anhand eines Beispieles zeigen wie du das meinst?
Steh noch total am Anfang und versteh noch nicht ganz was du meinst:oops:
 

pro2

Bekanntes Mitglied
Java:
public class test{
    public static void main(String[] args){
        for(;;){
            Scanner kbd= new Scanner (System.in);

            System.out.println("Gebe bitte den Reifendruck vorne links an!");
            int vlinks=kbd.nextInt() ;
            System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
            int vrechts= kbd.nextInt() ;
            System.out.println("Gebe bitte den Reifendruck hinten links an!");
            int hlinks= kbd.nextInt ();
            System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
            int hrechts= kbd.nextInt() ;
            boolean vorneok=false, hintenok=false;


            if(vlinks == vrechts) 
                vorneok = true;
            if(hlinks == hrechts) 
                hintenok = true;
            if(vorneok == true && hintenok == true)
                System.out.println("Der Reifendruck ist ok!");



            if(vorneok == false || hintenok == false)
                System.out.println("Der Reifendruck ist unterschiedlich");



            if(vorneok == false)
                System.out.println("Der Reifendruck vorne ist unterschiedlich!");
            if(hintenok==false)
                System.out.println("Der Reifendruck hinten ist unterschiedlich!");
            
            System.out.println("Wollen Sie wiederholen?");
            boolean x = kbd.nextBoolean();
            if(x == false){
                System.exit(0);
            }
        }
    }
}

Oder sowas ähnliches ^^
 

nZxTnOS

Mitglied
in meiner Aufgabenstellung wird irgendwas mit Char.antwort=kbd.next() nextAr(0)
erwähnt.

Hab das jetzt auf For abgeändert.

Nur zeigt er mir 2 Fehler an
Ich weiß aber nicht was ich falsch gemacht habe



Java:
import java.util.Scanner;
public class Reifendruck_Wiederholung{
public static void main(String[] args){
for(int i=0; i<anz);

Scanner kbd= new Scanner (System.in);
int anz= kbd.nextInt() ;



  System.out.println("Gebe bitte den Reifendruck vorne links an!");
int vlinks=kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
int vrechts= kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck hinten links an!");
int hlinks= kbd.nextInt ();
System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
int hrechts= kbd.nextInt() ;
boolean vorneok=false, hintenok=false;


if(vlinks==vrechts) vorneok=true;
if(hlinks==hrechts) hintenok=true;
if(vorneok==true && hintenok==true)
System.out.println("Der Reifendruck ist ok!");



if(vorneok==false || hintenok==false)
System.out.println("Der Reifendruck ist unterschiedlich");



 if(vorneok==false){
System.out.println("Der Reifendruck vorne ist unterschiedlich!");
if(hintenok==false)
System.out.println("Der Reifendruck hinten ist unterschiedlich!");

System.out.println("Wollen Sie das Programm wiederholen?");
boolean i=kbd.nextBoolean() ;
if(i==false){
  System.exit(0);
}
 }
}



FEHLER
Java:
Compiliere F:\AEW\JAVA\Reifendruck_Wiederholung.java mit Java-Compiler
Reifendruck_Wiederholung.java:4:19: error: ';' expected
for(int i=0; i<anz);
                  ^
Reifendruck_Wiederholung.java:47:1: error: class, interface, or enum expected
}
^
2 errors
 
Zuletzt bearbeitet:

nZxTnOS

Mitglied
Ich hab keine Idee mehr wie das gehen soll

Was mach ich falsch?

Java:
import java.util.Scanner;
public class Reifendruck_Wiederholung{
public static void main(String[] args){

for(int i=0; i>anz;){

Scanner kbd= new Scanner (System.in);




  System.out.println("Gebe bitte den Reifendruck vorne links an!");
int vlinks=kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
int vrechts= kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck hinten links an!");
int hlinks= kbd.nextInt ();
System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
int hrechts= kbd.nextInt() ;
boolean vorneok=false, hintenok=false;}


if(vlinks==vrechts) vorneok=true;
if(hlinks==hrechts) hintenok=true;
if(vorneok==true && hintenok==true)
System.out.println("Der Reifendruck ist ok!");



if(vorneok==false || hintenok==false)
System.out.println("Der Reifendruck ist unterschiedlich");



 if(vorneok==false){
System.out.println("Der Reifendruck vorne ist unterschiedlich!");
if(hintenok==false)
System.out.println("Der Reifendruck hinten ist unterschiedlich!");

System.out.println("Wollen Sie das Programm wiederholen? 1 für Nein/ 0 für Ja");
boolean i=kbd.nextBoolean() ;
int anz= kbd.nextInt() ;
if(i==0){
  System.exit(0);
}
 }

}




FEHLERMELDUNGEN:
Java:
Compiliere F:\AEW\JAVA\Reifendruck_Wiederholung.java mit Java-Compiler
Reifendruck_Wiederholung.java:5:19: error: ';' expected
for(int i=0; i>anz){
                  ^
1 error


Würde mich sehr sehr sehr freuen, wenn ihr mir bei meinem Problem weiterhelfen könnt :)
 

HimBromBeere

Top Contributor
for(int i=0; i<anz);
Erstens: wo bekommst du anz her
Zweitens: Eine for-Schleife besteht aus drei Argumenten: der Anfangsbedingung (z.B. int i = 0), eine Prüfbedinung (z.B. i < anz) UND einem Fortsetzungsausdruck (z.B. i++). Oder kurgefasst:
Code:
for (Initialisierung; Test; Fortsetzung)
in deinem Fall also etwa:
Java:
for (int i = 0; i < anz; i++)
Wie ich eingangs aber bereits erwähnte, ist nicht klar, wo du anz herholst (außerdem ergibt das feste Angeben einer Gesamtanzahl an Schleifendurchläufen in deinem Fall auch keinen Sinn, schließlich soll diese Schleife solange durchlaufen, bis Widerholung = nein ist, das kannst du nicht an einer Zählvariable festmachen). Daher der Vorschlag von pro2 mit der Endlosschleife for( ; ; ). Dabei musst du irgendwo INNERHALB der Schleife eine Möglichkeit schafen, wieder erauszukommen (z.B. mit break)
 

nZxTnOS

Mitglied
Ja okeyy...hab das jetzt so verstanden!...danke schonmal dafür :toll::applaus:

Ich hab das Programm jetzt so geändert:

Java:
import java.util.Scanner;
public class Reifendruck_Wiederholung{
public static void main(String[] args){
for(boolean x; x==true){
Scanner kbd= new Scanner (System.in);


System.out.println("Gebe bitte den Reifendruck vorne links an!");
int vlinks=kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
int vrechts= kbd.nextInt() ;
System.out.println("Gebe bitte den Reifendruck hinten links an!");
int hlinks= kbd.nextInt ();
System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
int hrechts= kbd.nextInt() ;
boolean vorneok=false, hintenok=false;}

{
if(vlinks==vrechts) vorneok=true;
if(hlinks==hrechts) hintenok=true;
if(vorneok==true && hintenok==true)break;
System.out.println("Der Reifendruck ist ok!");







 if(vorneok==false){
System.out.println("Der Reifendruck vorne ist unterschiedlich!");
if(vorneok==false || hintenok==false)
System.out.println("Der Reifendruck ist unterschiedlich");
if(hintenok==false)
System.out.println("Der Reifendruck hinten ist unterschiedlich!");

System.out.println("Wollen Sie das Programm wiederholen?");
boolean x=kbd.nextBoolean();
if(x==false)break;
System.exit(0);

 }
 }
 }
 }


Fehlermeldung:
Java:
Compiliere F:\AEW\JAVA\Reifendruck_Wiederholung.java mit Java-Compiler
Reifendruck_Wiederholung.java:4:23: error: ';' expected
for(boolean x; x==true){
                      ^
1 error


Wie bekomm ich den Fehler weg? Was meint er damit?
 

nZxTnOS

Mitglied
Ahh okey... die Fortsetzung fehlt

Also muss das so aussehen?
Java:
for(boolean x; x==true; ?)

Wie musst denn die Fortsetzung aussehen?
Kannste mir nicht zeigen wie es richtig aus zu sehen haben soll?
Wäre echt klasse, bin mit meinem Latein jetzt echt am Ende
 

bossa

Mitglied
1. Versuch dir anzugewöhnen, stets innerhalb der geschweiften Klammern den Quelltext einzurücken. Das macht die Sach übersichtlicher und dir wär sofort aufgefallen, dass da eine öffnende Klammer zu viel drin ist. nämlich die da:
Java:
boolean vorneok=false, hintenok=false;}
 
{             // <-- HIER!
if(vlinks==vrechts) vorneok=true;

2. Du verwendest 2x die Variable x. Ein mal in der For-Schleife und ein mal später. Wenn du die For-Schleife so anwendest, wie sie Sinn gibt, ist das auf jeden Fall ein mal zu viel.

3. Dein Programm wird dich überhaupt nur fragen, ob du wiederholen willst, wenn der Reifendruck vorn nicht ok ist. Überhaupt macht er alle weiteren Abfragen nur dann, wenn der Reifendruck vorn nicht gleich ist. Das willst du mit Sicherheit nicht, oder?

Nochmal: Achte auf deine Klammern und Rücke den Quelltext dazwischen ein, sonst kommst verlierst du den Überblick!

4. Auch deine Abfrage, ob der Reifendruck grundsätzlich ok ist funktioniert nicht! Verschachtele die If-Anweisungen! Aber da das auch zu euren Aufgaben gehören wird und ich dir nicht alles vorkauen mag - du sollst ja auch was lernen! - gibt's von mir nur die Beseitigung der Fehler, über die der Compiler meckert und die Lösung der Schleife.

Achte auf die Einrückungen! Da sieht man sauber, was wo anfängt und aufhört!

Java:
import java.util.Scanner;
public class Reifendruck_Wiederholung{
	public static void main(String[] args){
		boolean repeat=true;
		while(repeat==true){
			Scanner kbd= new Scanner (System.in);
			 
			System.out.println("Gebe bitte den Reifendruck vorne links an!");
			int vlinks=kbd.nextInt() ;
			System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
			int vrechts= kbd.nextInt() ;
			System.out.println("Gebe bitte den Reifendruck hinten links an!");
			int hlinks= kbd.nextInt ();
			System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
			int hrechts= kbd.nextInt() ;
			boolean vorneok=false, hintenok=false;
		 
			if(vlinks==vrechts) vorneok=true;
			if(hlinks==hrechts) hintenok=true;
			if(vorneok==true && hintenok==true)break;
			System.out.println("Der Reifendruck ist ok!");
			 
			if(vorneok==false)
				System.out.println("Der Reifendruck vorne ist unterschiedlich!");
			if(vorneok==false || hintenok==false)
				System.out.println("Der Reifendruck ist unterschiedlich");
			if(hintenok==false)
				System.out.println("Der Reifendruck hinten ist unterschiedlich!");
			 
			System.out.println("Wollen Sie das Programm wiederholen?");
			
			repeat=kbd.nextBoolean();			
		}
		System.exit(0);
	}
}

Zur Schleife:
Es ist eine While-Schleife. Das Tutorial müsstest du ja mittlerweile gelesen haben. Du musst dir ERST deine Boolsche Variable erzeugen, sonst kennt die Schleife sie nicht. Dann sagst du "Mache das folgende solange repeat true ist". Man könnte auch vereinfacht
Java:
while(repeat){
schreiben, aber ich denke so wie gezeigt wird klarer, was passiert.

In deinem Programm wird dann später gefragt und ein neuer Wert für repeat eingegeben. Die Schleife ist am Ende. Jetzt wird geschaut, ob denn repeat noch immer "true" ist. Wenn ja geht's von vorn los. Wenn nicht springt er raus.

NATÜRLICH beendet das Programm erst außerhalb der Schleife mit System.exit(0). Wenn das drinnen steht, würde nix wiederholen.




So, und jetzt setz dich noch an die Reifendrucküberprüfung. Die stimmt noch nicht ganz und kann eigentlich auf viel weniger Zeilen gebracht werden.
 

Sakura26

Mitglied
Vielleicht zur verschönerung noch des Quellcodes:

Java:
import java.util.Scanner;
public class Reifendruck_Wiederholung{
    public static void main(String[] args){
        
    	int beenden = 1; 
    	
        while(beenden!=0){
            Scanner kbd= new Scanner (System.in);
             
            System.out.println("Gebe bitte den Reifendruck vorne links an!");
            int vlinks=kbd.nextInt() ;
            System.out.println("Gebe bitte den Reifendruck vorne rechts an!");
            int vrechts= kbd.nextInt() ;
            System.out.println("Gebe bitte den Reifendruck hinten links an!");
            int hlinks= kbd.nextInt ();
            System.out.println("Gebe bitte den Reifendruck hinten rechts an!");
            int hrechts= kbd.nextInt() ;
            boolean vorneok=false, hintenok=false;
         
            if(vlinks==vrechts) vorneok=true;
            if(hlinks==hrechts) hintenok=true;
            if(vorneok==true && hintenok==true)break;
            System.out.println("Der Reifendruck ist ok!");
             
            if(vorneok==false)
                System.out.println("Der Reifendruck vorne ist unterschiedlich!");
            if(vorneok==false || hintenok==false)
                System.out.println("Der Reifendruck ist unterschiedlich");
            if(hintenok==false)
                System.out.println("Der Reifendruck hinten ist unterschiedlich!");
             
            System.out.println("Wollen Sie das Programm wiederholen? [Exit: 0, Weiter: 1]");
            
            beenden=kbd.nextInt();           
        }
        System.exit(0);
    }
}

Damit der User weiß womit er das Programm beendet

Java:
 System.out.println("Wollen Sie das Programm wiederholen? [Exit: 0, Weiter: 1]");
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W GET Anfrage resultiert in unendlicher Antwort Java Basics - Anfänger-Themen 1
S XML mittels HTTP Get Anfrage Java Basics - Anfänger-Themen 4
N Passwort Anfrage vor Programm start Java Basics - Anfänger-Themen 1
N Oracle SQL Anfrage. Problem Java Basics - Anfänger-Themen 2
H Vector-Warteschlange(in Anfrage Auftgrag aufrufen?) Java Basics - Anfänger-Themen 10
E Allgemeine Anfrage Java lernen Java Basics - Anfänger-Themen 3
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
SergioCK Do while Schleife wiederholen Java Basics - Anfänger-Themen 14
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
K Zufalsszahl soll sich nicht wiederholen Java Basics - Anfänger-Themen 9
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
D Substring wiederholen Java Basics - Anfänger-Themen 33
G Passwort und Passwort wiederholen in if-Abfrage vergleichen Java Basics - Anfänger-Themen 15
S Programm läuft nicht weiter, wie Code wiederholen? Java Basics - Anfänger-Themen 2
D Klasse durch eine Schleife wiederholen Java Basics - Anfänger-Themen 1
B Wiederholen einer if/switch-case Schleife Java Basics - Anfänger-Themen 9
F Daten auf Webserver laden - wiederholen bei Fehler Java Basics - Anfänger-Themen 0
D Java BlueJ Programm wiederholen? Java Basics - Anfänger-Themen 6
K Das Gleiche wiederholen Java Basics - Anfänger-Themen 5
E Wiederholen ? y/n Java Basics - Anfänger-Themen 2
M Falsche Eingabe wiederholen lassen Java Basics - Anfänger-Themen 2
F Befehle wiederholen Java Basics - Anfänger-Themen 7
R eine Methode automatisch wiederholen Java Basics - Anfänger-Themen 12
R Erste Schritte Wie am einfachsten Aufgabe wiederholen Java Basics - Anfänger-Themen 37
P Thread in Schleife wiederholen Java Basics - Anfänger-Themen 7
E Objekteingabe wiederholen Java Basics - Anfänger-Themen 2
B klasse wiederholen lassen. Java Basics - Anfänger-Themen 5
H OOP Setter im Konstruktor um code nicht zu wiederholen? Java Basics - Anfänger-Themen 2
J Wiederholen? Java Basics - Anfänger-Themen 5
M AudioStream - wiederholen, pausieren und wieder starten Java Basics - Anfänger-Themen 2
B eine Aktion Wiederholen Java Basics - Anfänger-Themen 6
O wiederholen Java Basics - Anfänger-Themen 4
H Eingabe so lange wiederholen bis gültiger Wert eingegeben. Java Basics - Anfänger-Themen 7
E Nach einer gewissen Zeit wiederholen Java Basics - Anfänger-Themen 13
sserio Endlosschleife ja nein? Java Basics - Anfänger-Themen 13
T jOptionPane zum schließen von Fenster, wie "Ja" und "Nein" anstatt Yes und No Java Basics - Anfänger-Themen 2
K FYI: Reguläre Ausdrücke nutzen ja/nein Java Basics - Anfänger-Themen 2
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
R Primzahl ja/nein - besserer Code möglich? Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
X Ja nein abfrage? Java Basics - Anfänger-Themen 9
kaoZ Stil ? - ....Nein nicht das Ende des Besens ^^ Java Basics - Anfänger-Themen 11
D Button´s Visible via Ja/Nein eingabe Java Basics - Anfänger-Themen 13
Ksanatos Ja nein verzweigung. Java Basics - Anfänger-Themen 22
I wie definiere ich ja oder nein für true or false Java Basics - Anfänger-Themen 7
M Kompilieren - Eclipse ja, Konsole nein Java Basics - Anfänger-Themen 15
A Englisch ja oder nein Java Basics - Anfänger-Themen 19
multiholle OOP MVC -> Ja/Nein? Java Basics - Anfänger-Themen 7
O import ja....extends nein Java Basics - Anfänger-Themen 5
Kasoki Compilen von Java Scripts (Nein kein JavaScript xD) Java Basics - Anfänger-Themen 13
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
G ZUfällig "ja" "nein" oder "vielleic Java Basics - Anfänger-Themen 7
I Dialog - "Ja" / "Nein" abfangen Java Basics - Anfänger-Themen 3
M JSP: Problem bei Link ja oder nein? Java Basics - Anfänger-Themen 2
D Komponente setvisible ja-nein Java Basics - Anfänger-Themen 4
M Datei vorhanden ja/nein? Java Basics - Anfänger-Themen 9
M Parameter existiert ja/nein - prüfen? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben