Java - Einzelne Zeichen einlesen und in Array speichern

Hallo zusammen,

ich bin neu im Thema Java und habe leider noch nicht verstanden, wie ich genau die Klasse / Methode finden und nutzen kann, die ich benötige. Vielleicht ist unter euch jemand, der mir das beibringen kann. Denn ich denke, wenn ich weiss, wie ich genau die Klasse finde, die ich brauche, erübrigen sich fast alle Fragen zu dem aktuellen Problem was man hat.

Meine Teilaufgabe:
Zu der Anwendung die ich schreiben möchte, habe ich die Aufgaben soweit aufgedröselt, dass ich gerade folgendes Problem habe und daran festhänge.
Der Anwender wird um eine Eingabe gebeten. Erlaubte Zeichen sind a-z, 0-9, +, -, *, /, ( und )
Gibt der Anwender „.“ ein, signalisiert er, das seine Eingabe zu ende ist.
Bereits während der Eingabe soll jedes einzelne Zeichen in ein Array gespeichert werden.

Mein Problem:
Ich habe verstanden, dass ich einen Scanner verwenden muss
Scanner s = new Scanner(System.in);
String aktuelleEingabe = s.next();
^^ In dem Fall ist es aber auch so, dass der Anwender nach jedem Zeichen Enter drücken müßte, damit auch nur ein Zeichen in die Variable aktuelle Eingabe gespeichert werden würde, die dann in einem weiteren Schritt in das array übergeben wird.
Statt String hatte ich es auch schon mit char versucht, da hatte NetBeans probleme mit dem Umwandeln. Casten ging auch nicht. Dann hatte ich noch die gloreiche Idee switch zu verwenden. Aber auch da muss man seinen case mit Enter bestätigen, also auch unbrauchbar.
Wenn der Anwender „Hallo1(2)3“ eingeben möchte, soll er das auch tun können und nicht
„H Enter a Enter l Enter l Enter o Enter 1 Enter ( Enter 2 Enter ) Enter 3 Enter“

Mir bitte nicht direkt den Lösungsquellcode verraten, sondern eher mir verraten, wie ich in der alphabetisch geordneten API jemals etwas in angemessener Zeit finden kann.
Vielen Dank im voraus

Vielleicht hilft der Quellcode von https://stackoverflow.com/questions/3043306/reading-a-single-char-in-java hier weiter:

    while (!sc.hasNext("z")) {
        char ch = sc.next().charAt(0);
        System.out.print("[" + ch + "] ");
    }```

mfg M.L.

Hallo M_L_,

erstmal danke für die Antwort.

Weder der Link noch deine Antwort geben Antwort auf das Problem, welches ich habe. Bei allen angegebenen Quellcodes muß man nach jeder Eingabe Enter drücken und genau das möchte ich ja nicht. Daher habe ich deine Antwort negativ bewertet. Keine Ahnuung wer und warum einer deine Antwort als gut befunden hat.
Falls Du noch eine Idee hast, würde mich das freuen. Und wenn die tatsächlich funktioniert, wüßte ich gerne, wie ich da hätte drauf kommen können. :wink:

Hi!

Entschuldigung, aber das hört sich viel mehr nach „ich bin neu im Thema Programmieren und habe leider noch nichts verstanden“.

Die Grundlage des Programmierens bleibt der Algorithmus, auch bei objektorientierten Programmiersprachen (Semantik).
Der Befehlssatz (Syntax) ist dann das andere, den man entweder von einer Programmiersprache kann und dann quasi eine Übersetzung in eine andere Sprache sucht.

Syntax und Semantik - das sind die beiden Grundbegriffe: Die Semantik bleibt überall gleich, unterschiedlich ist lediglich die Syntax.
Und wenn keine Syntax vorhanden ist, tut man sich halt schwer.

Bei diesem Problem würde ich aufgrund meiner (veralteten) C-Kenntnissen auf getchar schließen und nachsehen, wie das JAVA-Äquivalent heißt und feststellen, dass die Methode genauso heißt.

Und noch ein Tipp: Wenn du bei Google nix findest, solltest du in Sachen Programmieren bzw. generell EDV-Zeugs rein nur auf Englisch suchen.

Grüße,
Tomh, der Programmieren noch aus (englischsprachigen) Büchern gelernt hat, weil es noch kein Google gab

Grüße,
Tomh