power-poler
Goto Top

Text in Character Probleme mit Leerzeichen

Hallo
Arbeite gerade an einer Textausgabe, diese soll (später) Texte aus einer Datei einlesen und als einzelne Buchstaben auf dem Monitor aufbauen (Finde das sieht besser aus, als wenn es einfach blob macht und da etwas steht).
Zur zeit ist sie auf eine Konsolen Eingabe und dortige Ausgabe beschränkt.

Folgendes passiert:
Es wird auf eine Texteingabe des Benutzers gewartet, diese wird als String abgelegt.
Dann wird diese in einzelne Charakter umgewandelt und einzeln auf dem Monitor wider ausgegeben.
Funktioniert auch schon alles wie ich mir das vorstelle.
Also zum Beispiel ich gebe ein:
"Hallo" auf dem Monitor in der Konsole eine Zeile darunter steht dann:
H(Sleep50ms)a50msl50ms und so weiter, ich hoffe ihr wisst was ich meine.
Doch sobald ein Leerzeichen darin ist geschieht folgendes:
Also zum Beispiel:
"H a l l o"
H(sleepr50ms)
Bitte Text eingeben:
a (sleep50ms)
Bitte Text eingeben:
l (sleep50ms)
usw. halt
also die Benutzereingabe wird zwischendurch immer wider eingeblendet.
Hier wäre der code:

package textout;

import java.util.Scanner;


public class textin {

	/**
	 * @param args
	 */
	public static void main(String args) {
		String eingabe;
		Scanner scan = new Scanner (System.in);
		textout txt = new textout();
		while (true){
			System.out.println("Bitte Text eingeben: ");  
			eingabe = scan.next();
			if (eingabe.equals("Exit")){  
				break;
			}
			txt.outtext(eingabe);
			
		}


	}

}

package textout;

public class textout {
	private String in;



void outtext(String out){		//Text einlesen
	in = out;
	int i;
	Character textlaenge = new Character[in.length()];
	for (i = 0; i<in.length(); i++){
		textlaenge[i] = new Character(in.charAt(i));
		System.out.print(textlaenge[i]);
		try {
			Thread.sleep(50);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	System.out.println();

}
}

hoffe ihr habt da noch eine Idee, wo mein Denkfehler liegt.
Schonmal danke für eine Antwort
Mfg
Power-Poler

Content-Key: 205734

Url: https://administrator.de/contentid/205734

Printed on: April 25, 2024 at 12:04 o'clock

Mitglied: 64748
64748 Apr 27, 2013 at 10:13:07 (UTC)
Goto Top
Hallo,

ich hab von Java keine Ahnung.

Es sieht so aus als würde jedes Leerzeichen als Beginn einer neuen Eingabe erkannt. Das bedeutet, dass die Funktion nicht auf den kompletten String, sondern auf die Wörter im String wirkt.

Markus
Member: Power-Poler
Power-Poler Apr 27, 2013 at 13:35:17 (UTC)
Goto Top
Danke für deine Antwort.

Ich verstehe aber nicht, was die Funktion für ein Problem mit Leerzeichen hat.
Ich meine ich übergebe den Kompletten String an die Array, und Leerzeichen sind doch für ein char auch nichts anderes als ein Buchstabe in ASCII oder nicht?
Member: Power-Poler
Power-Poler Apr 27, 2013 at 13:48:47 (UTC)
Goto Top
Habe den Scanner falsch verwendet.
Habe:
eingabe = scan.next();
Statt:
eingabe = scan.nextLine();

verwendet.
Habe es jetzt ergänzt, und jetzt liest er auch die ganze Zeile ein, und nicht Wort für Wort.