Hallo zusammen,
ich habe ein Problem. Ich möchte von der Konsole Daten einlesen.
Die Konsole soll so aussehen.
-----------------------------------
Geben Sie bitte die Daten ein:
Name:
Vorname:
-----------------------------------
Hier sollen dann so die Daten folgendermaßeneingegeben werden:
-----------------------------------
Geben Sie bitte die Daten ein:
Name: Max
Vorname: Mustermann
-----------------------------------
Ich kriege das aber nicht richtig hin. Mein Code sieht folgendermaßen aus.
Java:
System.out.println("Geben Sie bitte die Daten ein\n");System.out.print(" Name: ");Person.name = br.readLine();System.out.print(" Vorname: ");Person.name = br.readLine();
Die Ausgabe von diesem Code sieht dann aber so aus(Die Zeile Vorname: wird erst angezeigt nachdem der Name eingegeben wurde und auf Enter gedrückt wurde). Ansonsten funktioniert das Einlesen der Variablen.
-----------------------------------
Geben Sie bitte die Daten ein:
Name: Max
-----------------------------------
-----------------------------------
Geben Sie bitte die Daten ein:
Name: Max
Vorname: Mustermann
-----------------------------------
Ich hoffe ihr versteht was ich meine. Kann leider nicht so gut erklären.
Bin mir nicht sicher, was du genau meinst.
Aber vielleicht hilft dir das ja weiter:
Java:
importjava.util.Scanner;publicclass daten_einlesen {publicstaticvoidmain(String[] args){Scanner eingabe =newScanner(System.in);System.out.println("Geben Sie bitte die Daten ein:");System.out.print("Name: ");String name = eingabe.next();System.out.print("Vorname: ");String vorname = eingabe.next();}// end of main}// end of class daten_einlesen
@ siver Dies hatte ich auch schon gemacht. Das entspricht aber nicht den Anforderungen an das Programm. Wie man Variablen einliest habe ich schon verstanden und es funktioniert auch. Nur die Eingabemaske muss bei mir anders aussehen. Ich habe jetzt irgendwie eine Notlösung programmiert.
Trotzdem danke für eure Hilfe
Geht über ESC-Sequenzen der Bildschirmsteuerung. Hier ein Muster zum Experimentieren - funktioniert allerdings nicht innerhalb von Eclipse etc. weil die meissten IDEs diese Escape-Sequenzen auf ihrer Konsole nicht interpretieren (obwohl es gültige Unicode-Zeichen sind).
Java:
importjava.io.*;publicclassAnsiScreen{publicstaticfinalString CLS ="\u001b[2J";publicstaticfinalString TOP ="\u001b[0;1H";publicstaticfinalString BOLD ="\u001b[1m";publicstaticfinalString RESET ="\u001b[0m";publicstaticvoidmain(String[] args)throwsThrowable{BufferedReader in =newBufferedReader(newInputStreamReader(System.in));System.out.print(CLS + TOP);System.out.println("Nachname:");System.out.println("Vorname :");locate(11,1);
in.readLine();locate(11,2);
in.readLine();}privatestaticvoidlocate(int x,int y){System.out.print("\u001b["+ y +";"+ x +"H");}}