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, 1847 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (11)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Exchange Server
gelöst Probleme mit Active Sync (6)

Frage von Henere zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (25)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...