Input/Output Benutzereingabe mit BufferedReader

BombaX

Mitglied
Hallo und guten Morgen liebe User,
kaffee.gif


ich habe die halbe Nacht schon nach einem gut erklärten BufferedReader Code gesucht.
Ich suche den Code für Benutzereingaben, die dan In Variablen gespeichert werden.


Ich habe Sehr viele Verschiedene Codeschnipsel gefunden die alle unterschiedlich und vorallem
Compielerfehler verursachen. Leider hab ich noch kein geeignetes Buch gefunden.:rtfm:

Programmieraufgabe:
Code:
Schreibe ein Programm, das dich solange nach der Geheimzahl „123“ fragt, 
bis sie richtig eingegeben wird. Dann soll auf dem Bildschirm erscheinen: Tresor ist geöffnet.


Danke :toll:
MfG

[EDIT]Die Konkrete Frage ist wo ich den BufferedReader gut erklärt bekomme. :toll:[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
Was genau ist die Frage? 😀
Ein Buch, wo das erklärt wird?

.... für "Benutzereingaben in der Console würde ich aber JAVA Scanner benutzen 😉

Galileo Computing :: Java ist auch eine Insel – 4.7 Zerlegen von Zeichenketten


aber hier auch nochmal was zu BufferedReader

Galileo Computing :: Java ist auch eine Insel – 17.5 Datenströme filtern und verketten

€dit:
So da du ja jetzt deine Aufgabe reingestellt hast, hier mal die Lösung im Pseudo- Code solltest du dann eigentl. hinbekommen mit der Klasse Scanner 😉) (steht ja nicht drin, dass du BufferedReader benutzen sollst 😉)

Code:
Scanner scan =.... 
int eingabe...
while( "Bedingung" ){
     eingabe=nächste Abfrage eines Ints aus dem Scanner
}
Ausgabe Tresor geöffnet ;)
 
Zuletzt bearbeitet:
So der Scanner ist eingebaut und die if abfrage mit equals auch.

Warum hast du eigentlich beim Scanner eine int Variable deklariert?
Mein NetBeans zeigt da einen Fehler an.

Java:
 System.out.println("Bitte gebe den Tresorcode ein.");
        
        Scanner scanner = new Scanner( System.in ); 
String eingabeCode = scanner.next();
        
       if ("123".equals(eingabeCode)){  
            
            System.out.println("Der Code ist richtig. Dein Tresor wurde geöffnet. Der Code :" +eingabeCode);
           
       }

ich möchte die if abfrage umdrehen.😳


Also fragen ob der Code nicht "123" ist und dann eine Fehlermeldung ausgeben.
Mit Else (wenn die Eingabe richtig ist ) eine Positive Rückmeldung ausgeben.

Mit der while Schleife hab ich es leider nicht geschafft.

Kann mir da jemand helfen?
 
ich hab einen int benutzen, da ich dacht du wolltest das als "Zahl" abfragen 😉
Java:
System.out.println("Bitte gebe den Tresorcode ein.");
        
        Scanner scanner = new Scanner( System.in ); 
      
        
       while(true){
    	   String eingabeCode = scanner.next();
    	   if ("123".equals(eingabeCode)){               
               System.out.println("Der Code ist richtig. Dein Tresor wurde geöffnet. Der Code :" +eingabeCode);
               break;
          }else{... }
            

       }

Möglichkeit 2:

Java:
boolean richtig=false; 
       while(richtig!=true){
    	   String eingabeCode = scanner.next();
    	   if ("123".equals(eingabeCode)){               
               System.out.println("Der Code ist richtig. Dein Tresor wurde geöffnet. Der Code :" +eingabeCode);
               richtig=true;
          } else{... }
       }
 
Zuletzt bearbeitet:
Danke dir.🙂

Der Code ist komplett Logisch wenn man ihn liest.😳

[OT]
Woher kannst du Java?
Schule, Studium oder hast du es dir selbst beigebracht?

[/OT]
 
Von allem ein bisschen 😀

Aber gibt noch viel zu lernen und zu erkunden 😛
von daher is "können" ein weitläufiger Begriff 😉
 
Zuletzt bearbeitet:
Und dann lässt sich elegant z.B. so etwas schreiben:

Java:
package javaforum;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Rand {

    public static void main(String[] args) throws IOException {
        int i =  100 * (1 + (int) (Math.random() * 3.0))
                + 10 * (1 + (int) (Math.random() * 3.0))
                +       1 + (int) (Math.random() * 3.0);

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        do {
            System.out.print("Bitte Zahl eingeben: ");
        } while (Integer.parseInt(reader.readLine()) != i);

        System.out.println("Richtig. i war " + i);
    }
}

Für i gibt's dann 3 * 3 * 3 Möglichkeiten. Also net allzu viele 😉
 

Zurück
Oben