Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Text in Character Probleme mit Leerzeichen

Frage Entwicklung Java

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

27.04.2013 um 10:20 Uhr, 1904 Aufrufe, 3 Kommentare

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:

01.
package textout; 
02.
 
03.
import java.util.Scanner; 
04.
 
05.
 
06.
public class textin { 
07.
 
08.
	/** 
09.
	 * @param args 
10.
	 */ 
11.
	public static void main(String[] args) { 
12.
		String eingabe; 
13.
		Scanner scan = new Scanner (System.in); 
14.
		textout txt = new textout(); 
15.
		while (true){ 
16.
			System.out.println("Bitte Text eingeben: "); 
17.
			eingabe = scan.next(); 
18.
			if (eingabe.equals("Exit")){ 
19.
				break; 
20.
21.
			txt.outtext(eingabe); 
22.
			 
23.
24.
 
25.
 
26.
27.
 
28.
}
01.
package textout; 
02.
 
03.
public class textout { 
04.
	private String in; 
05.
 
06.
 
07.
 
08.
void outtext(String out){		//Text einlesen 
09.
	in = out; 
10.
	int i; 
11.
	Character[] textlaenge = new Character[in.length()]; 
12.
	for (i = 0; i<in.length(); i++){ 
13.
		textlaenge[i] = new Character(in.charAt(i)); 
14.
		System.out.print(textlaenge[i]); 
15.
		try { 
16.
			Thread.sleep(50); 
17.
		} catch (InterruptedException e) { 
18.
			// TODO Auto-generated catch block 
19.
			e.printStackTrace(); 
20.
21.
22.
	System.out.println(); 
23.
 
24.
25.
}
hoffe ihr habt da noch eine Idee, wo mein Denkfehler liegt.
Schonmal danke für eine Antwort
Mfg
Power-Poler
Mitglied: 64748
27.04.2013 um 12:13 Uhr
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
Bitte warten ..
Mitglied: Power-Poler
27.04.2013 um 15:35 Uhr
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?
Bitte warten ..
Mitglied: Power-Poler
27.04.2013 um 15:48 Uhr
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.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Batch & Shell
gelöst Zeilen in TXT mit Leerzeichen auf eine bestimmte Länge auffüllen (4)

Frage von stingray14k zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable erzeugen mit Leerzeichen und Klammern (11)

Frage von hipfzwirgel zum Thema Batch & Shell ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte