WIE Tastaturpuffer löschen ?

Status
Nicht offen für weitere Antworten.

ernst

Top Contributor
Hallo allerseits,
Ich will mehrere Zeichen (keine Zeichenkette) hintereinander über Tastatur einlesen.
Wenn ich z.B. das Zeichen A eingebe und die Eingabe mit Enter abschliesse, steht im Tastaturpuffer außer dem ASCII-Wert von A noch die ASCII-Werte 13 und 10.
Deswegen will ich nach Eingabe eines Zeichens den Tastaturpuffer löschen.
Wie wird das gemacht?

Mein Testprogramm:
---------------------------------------------------------------------------------
Code:
	import java.io.*;

	public class Maintest1 {
		public static void main(String argv[]) throws IOException{
			int zeichenWert;
		    char zeichen;
		    System.out.println("Bitte Zeichen eingeben");
                    // Eingabe des Zeichens A und Enter
		    zeichenWert = System.in.read();
		    zeichen = (char) zeichenWert;
		    System.out.println("Das Zeichen ist:"+zeichen);
		    
		    zeichenWert = System.in.read();
		    zeichen = (char) zeichenWert;		    
                    // Ausgabe: 13
		    System.out.println("Das Zeichen ist:"+zeichenWert);

		    
		    if(zeichen=='\n'){
		    	System.out.println("Das Zeichen ist: '\n'");
		    }
		    else{
		    	System.out.println("Das Zeichen ist nicht: '\n'");		    	
		    }

		    zeichenWert = System.in.read();
                    // Ausgabe: 10
		    System.out.println("Das Zeichen ist:"+zeichenWert);
   
		    
		}
	}
---------------------------------------------------------------------------------


mfg
Ernst
 

Xams

Bekanntes Mitglied
Wenn du mit Tastaturpuffer die Variable zeichenwert meinst

zeichenwert = null
immer nach den System.out.println(...);
??
 
G

Guest

Gast
Gar nicht. Java hat so etwas nicht. Das aus C bekannt ..flush... (irgendwas in der Art) gibts in Java so nicht und es wird auch nicht gebraucht. Die ASCII-Zeichen 13 und 10 stehen für Enter (+1 Zeile und zum Zeilenanfang).
 

P3AC3MAK3R

Top Contributor
Kommst Du vielleicht mit der Klasse Console weiter?

readLine
public String readLine(String fmt,
Object... args)
Provides a formatted prompt, then reads a single line of text from the console.

Parameters:
fmt - A format string as described in Format string syntax.
args - Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored. The maximum number of arguments is limited by the maximum dimension of a Java array as defined by the Java Virtual Machine Specification.
Returns:
A string containing the line read from the console, not including any line-termination characters, or null if an end of stream has been reached.
Throws:
IllegalFormatException - If a format string contains an illegal syntax, a format specifier that is incompatible with the given arguments, insufficient arguments given the format string, or other illegal conditions. For specification of all possible formatting errors, see the Details section of the formatter class specification.
IOError - If an I/O error occurs.
 

ernst

Top Contributor
Java-Freak hat gesagt.:
Wenn du mit Tastaturpuffer die Variable zeichenwert meinst

zeichenwert = null
immer nach den System.out.println(...);
??
Ich weiss nicht was du meinst, aber:

Wie kann ich zwei Zeichen, die ich über Tastatur eingebe, auslesen?
Wenn durch das Drücken der Taste ENTER 13 und 10 in den Tastaturpuffer geschrieben werden, lese ich doch beim zweiten System.in.read() doch die 13 aus, anstatt des zweiten von mir eingegebenen Zeichens.
Das folgende funktioniert also nicht:
--------------------------------------------
zeichenWert = System.in.read();
// Hier wird zwar das eingegebene Zeichen A ausgegeben
System.out.println("Das Zeichen ist:"+zeichenWert);

zeichenWert = System.in.read();
// Aber hier wird nicht B ausgegeben, sondern 13
System.out.println("Das Zeichen ist:"+zeichenWert);
------------------------------------------------------------
Frage:
Wenn ich also den Tastaturpuffer nicht löschen kann, wie kann ich dann das zweite eingebene Zeichen auslesen?


mfg
Ernst
 

madboy

Top Contributor
Code:
     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
      try {
        String s1 = reader.readLine();
        System.out.println(s1);
        String s2 = reader.readLine();
        System.out.println(s2);
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

Edit: die Alternative wäre, einfach nach jedem gelesenen Zeichen zwei zu "überspringen". Beispielsweise mit
Code:
System.in.read(new byte[2]);
 

ernst

Top Contributor
madboy hat gesagt.:
Code:
     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
      try {
        String s1 = reader.readLine();
        System.out.println(s1);
        String s2 = reader.readLine();
        System.out.println(s2);
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
1)
Du hast s1 und s2 den Datentyp String gegeben.
Ich will aber eine Lösung ohne String, sondern nur mit char, also eine Lösung ohne Zeichenkette


2)
Edit: die Alternative wäre, einfach nach jedem gelesenen Zeichen zwei zu "überspringen". Beispielsweise mit
Code:
System.in.read(new byte[2]);
Der Tipp ist gut!

mfg
Ernst
 

ernst

Top Contributor
Java-Freak hat gesagt.:
Wenn du mit Tastaturpuffer die Variable zeichenwert meinst

zeichenwert = null
immer nach den System.out.println(...);
??

1)
zeichenwert = null oder
zeichenwert = NULL
gibt bei mir einen Syntaxfehler

2)
Was meinst du mit:
"immer nach den System.out.println(...);"

mfg
Ernst
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Tastaturpuffer auslesen Allgemeine Java-Themen 2
M löschen in Rot Schwarz Bäumen Allgemeine Java-Themen 6
M lineare Sondierung löschen Allgemeine Java-Themen 2
A Sicheres Löschen von Dateien Allgemeine Java-Themen 7
E Varialbe komplett Löschen Allgemeine Java-Themen 26
O Warum kann ich so keine Elemente löschen und erhalte einen IllegalStateException? Allgemeine Java-Themen 4
J ArrayList, ganze Zeilen löschen oder überspringen Allgemeine Java-Themen 4
glamdring273 Discord JDA, Kanal löschen Allgemeine Java-Themen 0
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
P Erste Schritte Dateien löschen Allgemeine Java-Themen 4
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
J Datei löschen, die Leerzeichen im Pfad hat Allgemeine Java-Themen 5
R Index in einem Array löschen Allgemeine Java-Themen 10
R Index in einem Array löschen Allgemeine Java-Themen 2
A Referenzen von Bildobjekten löschen Allgemeine Java-Themen 0
I PDF freigeben zum löschen Allgemeine Java-Themen 4
P Löschen eines keys in einer SortedMap Allgemeine Java-Themen 5
P JDK installieren Kann man die Ordner in C:\Users\*\AppData\LocalLow\Sun\Java\.... löschen? Allgemeine Java-Themen 3
X Löschen von einer Zeile in einer Text Datei. Klappt nicht. Allgemeine Java-Themen 4
J Java - Zeile aus Text datei löschen Allgemeine Java-Themen 13
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
G Datei löschen Allgemeine Java-Themen 8
R LinkedList und Threads: Strukturprobleme bez. löschen von Elementen Allgemeine Java-Themen 3
Bluedaishi Dateien löschen die älter als das aktuelle Datum sind Allgemeine Java-Themen 9
L Doppelte eintraege im Stringbuffer löschen Allgemeine Java-Themen 4
J Doppelte Buchstaben löschen - letztes Wort macht er nicht Allgemeine Java-Themen 2
M lucene suchen/löschen/hinzufügen Allgemeine Java-Themen 4
R Leere Verzeichnisse löschen Allgemeine Java-Themen 11
S Speichern/Laden/Hinzufügen/Löschen der Array-Wörter; unerwartete Ausgabe Allgemeine Java-Themen 6
V System.out.println an jeder Stelle im Projekt löschen Allgemeine Java-Themen 4
M Batch zum Java Cache löschen Allgemeine Java-Themen 3
R Löschen von Files nicht möglich Allgemeine Java-Themen 11
KrokoDiehl Verzeichnisse via FileVisitor löschen Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
127.0.0.1 StringBuffer leere Zeile löschen Allgemeine Java-Themen 8
J char-Array löschen Allgemeine Java-Themen 5
W n:m Beziehung Referenzen löschen Allgemeine Java-Themen 5
127.0.0.1 Zeilen in .txt Datei löschen Allgemeine Java-Themen 11
D Löschen-Methode im Stapelverarbeitungsprogramm Allgemeine Java-Themen 4
S JTable und Spalten löschen Frage Allgemeine Java-Themen 5
EnHancEd[] ArrayList gezielt löschen Allgemeine Java-Themen 9
S Nullen aus Array löschen Allgemeine Java-Themen 10
N Java lässt sich nicht löschen! Allgemeine Java-Themen 7
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
P Input/Output Ordner löschen --> geht nicht Datei --> Ja Allgemeine Java-Themen 6
K Leerzeiilen aus ArrayList löschen?! Allgemeine Java-Themen 7
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
S Singleton Instanz löschen Allgemeine Java-Themen 5
Z Ausschneiden, Kopieren, Einfügen, Löschen in JTextArea Allgemeine Java-Themen 5
K Java Feld Duplikate löschen Allgemeine Java-Themen 5
F SAXBuilder blockiert löschen von Dateien Allgemeine Java-Themen 2
L Datei sicher löschen/mehrfach überschreiben? Allgemeine Java-Themen 2
S Java komplett löschen und neu installieren Allgemeine Java-Themen 4
N Java geht nicht mehr zu löschen Allgemeine Java-Themen 5
E Regex alles nach ? löschen Allgemeine Java-Themen 4
I Über eine Liste iterieren und Objekte löschen. Wie löst man das sauber? Allgemeine Java-Themen 5
W 2D-Grafik nach getthumbnail läst sich Quellbild nicht mehr löschen Allgemeine Java-Themen 3
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
S Zeilen in einer Datei löschen Allgemeine Java-Themen 3
Z aus private List<???> list eintrag löschen Allgemeine Java-Themen 4
C Zeile aus einer CSV-Datei löschen Allgemeine Java-Themen 3
J Element aus HashSet löschen Allgemeine Java-Themen 2
S Element aus ArrayListe löschen --> Thread hängt sich auf Allgemeine Java-Themen 2
A LinkedList Auslesen und Objekt Löschen Allgemeine Java-Themen 4
G Mit Batch-Datei verzeichnisse löschen Allgemeine Java-Themen 9
K von List getSelected auf ResultSet Datenbank löschen Allgemeine Java-Themen 2
S Reihen aus einem 2-dim. Array 'löschen' Allgemeine Java-Themen 2
K Threading - schreiben auf Hashmap/löschen - ConcurrentModificationException Allgemeine Java-Themen 3
A Zeilen aus einer Textdatei löschen Allgemeine Java-Themen 6
M Arraylist - Inhalte in Textferldern anzeigen, verändern und löschen. Allgemeine Java-Themen 18
S Liste Object Löschen Allgemeine Java-Themen 7
G Log4J - Logs älter als 3 Tage löschen Allgemeine Java-Themen 5
Quaxli Files massenhaft löschen Allgemeine Java-Themen 3
J Mit POI Zeile in Excel löschen Allgemeine Java-Themen 5
D Kann Tiff Datei nicht löschen Allgemeine Java-Themen 12
0x7F800000 Regex zum löschen vom unnötigen whitespace Allgemeine Java-Themen 4
Daniel_L Best Practice zum Löschen von Log-Files? Allgemeine Java-Themen 8
S Problem beim Löschen des Inhalts des Fensters Allgemeine Java-Themen 4
O Zeile eines Textfiles löschen Allgemeine Java-Themen 2
O File zum löschen "schließen" Allgemeine Java-Themen 2
G JTree Node löschen Allgemeine Java-Themen 2
C String to hex und hex-Werte löschen Allgemeine Java-Themen 2
H Benutzerkonto löschen Allgemeine Java-Themen 4
G Dateien löschen Allgemeine Java-Themen 3
G Datei löschen nach kopieren geht nicht Allgemeine Java-Themen 5
G List- Einträge löschen Allgemeine Java-Themen 3
T probleme mit file löschen Allgemeine Java-Themen 9
F Aus einer XML Datei löschen Allgemeine Java-Themen 3
M Endgültiges Löschen von Objekten Allgemeine Java-Themen 7
H JTable Löschen [Alle Zeilen aufeinmal Löschen] Allgemeine Java-Themen 6
Z Letztes zeichen eines strings löschen Allgemeine Java-Themen 3
S Löschen von Objekt erzwingen Allgemeine Java-Themen 4
T LDAP - Eintrag löschen Allgemeine Java-Themen 6
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
C StyledDocument: SimpleAttributeSets löschen? Allgemeine Java-Themen 2
P löschen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben