Erste Schritte Scanner mehrere male benutzen (Konsole)

Servus! Ich bin recht neu in Java und habe leider ein Problem. Man soll eine Zahl in die Konsole eingeben. Wenn die Zahl nicht 5 ist möchte ich das eine Meldung erscheint und man so lange Eingaben machen kann bis die Zahl 5. Das Problem ist das der Scanner nicht ein zweites oder drittes mal ausgegeben wird.
Ich habe da jetzt Stunden lang rumprobiert aber naja seht selber:

Java:
import java.util.Scanner;
puplic class TestScanner {
puplic static void main(String[] args){
int rateZahl = 5;
Scanner s = new Scanner(System.in)
System.out.println("Bitte eine Zahl raten");
int userEingabe= s.nextInt();
if (rateZahl == userEingabe) { System.out.println("Korrekt!! ");
}
// Hier sollte eine erneute eingabe möglich sein bzw mehrere bis zahl erraten
else Scanner s = new Scanner(System.in);
System.out.println(" Try again");
int userEingabe = s.nextInt();
}

}
}

Da meckert das Programm das s schon vorhanden ist. Wie kann ich den Scanner weiter benutzen?
Ich habe irgendwo gelesen das man nicht für jede Eingabe einen extra Scanner braucht.

Habe es auch mit einer while schleife probiert
 

truesoul

Top Contributor
Hallo.

Du erstellst vor dem vom if else ein Scanner s und eine int userEingabe und erstellst im else dann nochmal ein Scanner s und nach dem else ein int userEingabe. Das geht nicht.
Es fehlen ; .

Und die bessere Schreibweise für if else
Java:
if(bedingung) {
......
} else {
  .....
}

Verwende do while und als Bedingung vergleiche die userEingabe mit der rateZahl. Die Schleife sollte solange gehen wie die Zahlen ungleich sind. In der Schleife solltest du dann s.nextInt() aufrufen und den Wert der userEingabe zuweisen.
 

VfL_Freak

Top Contributor
Moin,

außerdem ist in Deinem geposten Code noch ein böser Fehler drin!
Ob wegen der schlechten Formatierung oder der Übertragung nach hier kann ich nicht beurteilen!
Java:
if( rateZahl == userEingabe )
{
    System.out.println( "Korrekt!! " );
}
// Hier sollte eine erneute eingabe möglich sein bzw mehrere bis zahl erraten
else
    Scanner s = new Scanner(System.in);  // !!

System.out.println( "Try again" );
int userEingabe = s.nextInt();
So wie Du es geschrieben hast, würde im ELSE-Fall nur die eine Zeile ausgeführt, die versucht, den neuen Scanner zu deklarieren. Die beiden nachfolgenden Zeilen würden IMMER ausgeführt!

Deswegen: IMMER klammern, auch wenn es wie im IF-Fall nur eine Zeile ist! Andernfalls suchst Du Dich u. U. dumm und dämlich ;)

VG Klaus
 
Java:
package ab;
import java.util.Scanner;
public class TestScanner {
public static void main (String[] args) {
int rateZahl = 5;

Scanner s = new Scanner(System.in);
System.out.println("Bitte eine Zahl raten");

int userEingabe = s.nextInt();

while(rateZahl != userEingabe)  {System.out.println(userEingabe +" Leider Falsch! try again!");
userEingabe = s.nextInt();
}
if(rateZahl == userEingabe) {System.out.println("Korrekt. "+userEingabe+" ist richtig");
 
}
}
}
Es funktioniert!! Irgendwelche verbesserungsvorschläge?
PS. Die Formatierung wurde zerschossen
 

Flown

Administrator
Mitarbeiter
Du brauchst nach der while-Schleife keine If-Abfrage, denn es ist garantiert das rateZahl == userEingabe ist.
 
Danke für die zügigen Antworten. Ich will kein neues Thema aufmachen, das passt meiner Meinung nach auch hier her. Mein Verständnisproblem lag darin das ich den Scanner nicht in die While Schleife gepackt habe.
Das Problem ist mal wieder der Scanner (oder ich ;))....
Es wird der Fehler "duplicate local variable" ausgegeben. Er meckert bei "userEingabe" und "userEingabe2".


Java:
import java.util.Scanner;

public class KontoProgramm {

    public static void main(String[] args) {
        String userName = "admin";
        int kontoNr = 1234;
        double kontoStand = 100.32;

        Scanner s = new Scanner(System.in);
        System.out.println("Bitte Benutzernamen eingeben..");
        String userEingabe = s.nextLine();
        System.out.println();
        System.out.println("Bitte Kontonummer eingeben..");
        System.out.println();
        int userEingabe2 = s.nextInt();
  
      
        while (!userName.equals(userEingabe) || kontoNr != userEingabe2);
        {System.out.println("Benutzername oder Password sind falsch! Try again!!!");
      
        System.out.println("Bitte Benutzernamen eingeben");
        String userEingabe = s.nextLine();
        System.out.println("Bitte Kontonummer eingeben!");
        int userEingabe2 = s.nextInt();
        }
  
    /*    if (userName.equals(userEingabe) && kontoNr == userEingabe2) {
            System.out.println("Guten Tag " + userName + " Ihr Kontostand betraegt " + kontoStand);
            System.out.println("Was moechten Sie tun. Einzahlen (e) oder abbuchen (a)?");
        } else
            System.out.println("Ihre Zugangsdaten sind falsch. Bitte nochmal anmelden.....");

*/
    }
  
    }

Hier aber hat es funktioniert
Java:
package ab;
import java.util.Scanner;
public class TestScanner {
public static void main (String[] args) {
int rateZahl = 5;

Scanner s = new Scanner(System.in);
System.out.println("Bitte eine Zahl raten");

int userEingabe = s.nextInt();

while(rateZahl != userEingabe)  {System.out.println(userEingabe +" Leider Falsch! try again!");
userEingabe = s.nextInt();
}
if(rateZahl == userEingabe) {System.out.println("Korrekt. "+userEingabe+" ist richtig");
}
}
}

Warum wird bei dem 2. Beispiel nicht gemeckert?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
O Variable Zimmergrößen per scanner einlesen Java Basics - Anfänger-Themen 5
A Buchstaben auslesen lassen vom Scanner Java Basics - Anfänger-Themen 18
J Barcode Scanner Java Basics - Anfänger-Themen 11
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
M Scanner Input mit if überprüfen Java Basics - Anfänger-Themen 5
D Scanner Java Basics - Anfänger-Themen 2
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
T scanner eingaben erkennen und umtauschen Java Basics - Anfänger-Themen 4
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
H Scanner nextLine() bringt Dateipfad Java Basics - Anfänger-Themen 1
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
I Scanner Loop Java Basics - Anfänger-Themen 1
J Scanner cannot be resolved to a type Java Basics - Anfänger-Themen 3
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
J Erste Schritte Scanner Java Basics - Anfänger-Themen 4
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
javapingu Endlosschleife bei User Input mit try Scanner Java Basics - Anfänger-Themen 7
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
Poppigescorn Arrayliste Mittels Scanner erweitern Java Basics - Anfänger-Themen 6
Jan_x8 Timer/Scanner Java Basics - Anfänger-Themen 5
M Scanner Klasse Java Basics - Anfänger-Themen 4
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
H Quellcode Scanner Klasse Java Basics - Anfänger-Themen 2
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
S Scanner soll Groß-/ Kleinschreibung ignorieren Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
J Scanner-Klasse Java Basics - Anfänger-Themen 2
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
N Problem mit Scanner Java Basics - Anfänger-Themen 2
V Ersätze für Java-Scanner Java Basics - Anfänger-Themen 9
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
A Scanner-Error Java Basics - Anfänger-Themen 8
D Java Scanner Java Basics - Anfänger-Themen 9
M String in Scanner einlesen Java Basics - Anfänger-Themen 6
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
I Scanner auf 10 Stellen begrenzt? Java Basics - Anfänger-Themen 5
B Barcode Scanner Java Basics - Anfänger-Themen 3
V Wie lasse ich die for-Schleife so oft laufen wie per Scanner angegeben? Java Basics - Anfänger-Themen 3
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
S Scanner Java Basics - Anfänger-Themen 36
S Frage zu Scanner Java Basics - Anfänger-Themen 3
cpt.Tomato Scanner problem mit Passwort Login Java Basics - Anfänger-Themen 3
O Scanner Klasse Java Basics - Anfänger-Themen 8
M java.util.scanner Fehler Java Basics - Anfänger-Themen 5
W Eclipse Che Scanner Java Basics - Anfänger-Themen 8
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
X Erste Schritte Problem mit scanner Java Basics - Anfänger-Themen 2
A Scanner.useLocale(Locale.US); Java Basics - Anfänger-Themen 4
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
I Scanner und Arrays Java Basics - Anfänger-Themen 2
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
Neoline Methoden Scanner Methode Java Basics - Anfänger-Themen 9
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
A Java Scanner Funktioniert nicht Java Basics - Anfänger-Themen 2
B Vom scanner in ein Arraylist Java Basics - Anfänger-Themen 7
L Scanner Ausgabe Java Basics - Anfänger-Themen 37
S Zeilenumbruch mit Scanner erkennen Java Basics - Anfänger-Themen 9
W Wie arbeite ich mit dem Typ Scanner? Java Basics - Anfänger-Themen 5
J Input/Output Scanner Input als etwas einsetzen Java Basics - Anfänger-Themen 3
R CMDTools Scanner Fehler Java Basics - Anfänger-Themen 10
D nextInt() nicht für Scanner definiert? Java Basics - Anfänger-Themen 2
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
F Scanner Problem Java Basics - Anfänger-Themen 8
T Variablen Array mit Scanner befüllen Java Basics - Anfänger-Themen 6
C Java Scanner einlesen von txt Dokument InputMismatch Java Basics - Anfänger-Themen 9
b1ck Scanner schließen, erneute Verwendung Java Basics - Anfänger-Themen 12
F Scanner - nextLine() gibt leeren String zurück Java Basics - Anfänger-Themen 2
T Problem mit Scanner. Java Basics - Anfänger-Themen 4
J Methode über Scanner aufrufen Java Basics - Anfänger-Themen 15
J Erste Schritte Scanner negative zahl einlesen und verwenden. Java Basics - Anfänger-Themen 6
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
Silvascus Scanner Problem Java Basics - Anfänger-Themen 5
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
TheMenox Error bei Scanner - woher? Java Basics - Anfänger-Themen 14
D Fehler bei String eingabe via Scanner Java Basics - Anfänger-Themen 6
F Problem do while Schleife und Scanner Java Basics - Anfänger-Themen 2
O POI Apache sheet scanner Java Basics - Anfänger-Themen 1
A regulären Ausdruck mit Hilfe der Klasse Scanner in einem String finden Java Basics - Anfänger-Themen 2
F Array mit Scanner-Werten Java Basics - Anfänger-Themen 4
M Input/Output Scanner schließt nicht Java Basics - Anfänger-Themen 2
M Scanner class Java Basics - Anfänger-Themen 6
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
S Array mit "foreach"-Schleife und nextInt (aus Scanner) beschreiben Java Basics - Anfänger-Themen 6
G Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
Q Scanner auf eine Zahl beschränken Java Basics - Anfänger-Themen 2
S Sonderzeichen '|' (u007C) mit Scanner einlesen Java Basics - Anfänger-Themen 1
T Scanner lässt sich nicht importieren Java Basics - Anfänger-Themen 1
R scanner in String funktioniert nicht Java Basics - Anfänger-Themen 1
P scanner ein Double einlesen Java Basics - Anfänger-Themen 10
A InputMismatchException mit Scanner Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben