Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 1859 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: hmarkus
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
C und C++
gelöst C++ andere EXE aufrufen, Probleme mit Leerzeichen im Pfad (14)

Frage von pablovic zum Thema C und C ...

Linux
Probleme beim Autostart Icewiesel im Vollbildmodus (1)

Frage von Thomas91 zum Thema Linux ...

Microsoft Office
Probleme mit Bilddarstellung im Publisher 2016 (8)

Frage von takvorian zum Thema Microsoft Office ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...