Ich habe eine kleine Programmieraufgabe zu bewältigen, die mich im Moment den letzten Nerv kostet. Es geht um eine kleine Konsolenanwendung, die Befehle von der Konsole einliest und dann verarbeitet. Nun habe ich eine Scanner Instanz und eine while Schleife, die solange durchläuft bis hasNextLine() false zurück liefert.
In meinem Programm werden je nach Code Objekte instanziiert, die sich dann um die Weiterverarbeitung kümmern, daher wird in der main das spezifische Objekt erzeugt und per Konstruktor eine Referenz auf den Scanner mitgegeben. Dieses neue Objekt soll dann sich die benötigten Parameter direkt vom Scanner holen und je nach bedarf weiterarbeiten/parsen.
Nun zum Problem selbst: Es entsteht eine Art Endlosschleife und es sollte eigentlich keine "leeren Zeilen" geben doch ich kann dies ja nicht prüfen, da sonst der Scanner auf den nächsten Token/Line verweist und eventuell Parameter/Befehle übergangen werden. ich kann ja nicht den aktuellen Token testen, ohne dass der Scanner "weiterfährt" ... oder ?
Weiter werden oft Chars als Parameter erwartet, die ich per scanner.next().charAt(0) entnehme, doch irgendwie müsste ich ja prüfen können, ob es ein Zeichen gibt (also eine Art hasNextChar() - leider gibt es diese Methode ja nicht
)
Gibt es weiters eine Möglichkeit Token, die man vom Scanner hat, wieder so anzugängen, als ob man sie nicht entnommen hätte? ..
ich hoffe ihr könnt mir helfen
In meinem Programm werden je nach Code Objekte instanziiert, die sich dann um die Weiterverarbeitung kümmern, daher wird in der main das spezifische Objekt erzeugt und per Konstruktor eine Referenz auf den Scanner mitgegeben. Dieses neue Objekt soll dann sich die benötigten Parameter direkt vom Scanner holen und je nach bedarf weiterarbeiten/parsen.
Nun zum Problem selbst: Es entsteht eine Art Endlosschleife und es sollte eigentlich keine "leeren Zeilen" geben doch ich kann dies ja nicht prüfen, da sonst der Scanner auf den nächsten Token/Line verweist und eventuell Parameter/Befehle übergangen werden. ich kann ja nicht den aktuellen Token testen, ohne dass der Scanner "weiterfährt" ... oder ?
Weiter werden oft Chars als Parameter erwartet, die ich per scanner.next().charAt(0) entnehme, doch irgendwie müsste ich ja prüfen können, ob es ein Zeichen gibt (also eine Art hasNextChar() - leider gibt es diese Methode ja nicht
Gibt es weiters eine Möglichkeit Token, die man vom Scanner hat, wieder so anzugängen, als ob man sie nicht entnommen hätte? ..
ich hoffe ihr könnt mir helfen