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, 1884 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 ...

Outlook & Mail
Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

Information von Deepsys zum Thema Outlook & Mail ...

Batch & Shell
gelöst Robocopy XF und die Probleme mit der Dateiendung (2)

Frage von Ebisumaru zum Thema Batch & Shell ...

Netzwerke
gelöst Cisco UDLD Probleme mit LWL (6)

Frage von apranet zum Thema Netzwerke ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Netzwerke
gelöst Standartgateway für Clients (21)

Frage von itsk-robert zum Thema Netzwerke ...

Firewall
Welche Firewall ? (18)

Frage von Cyberurmel zum Thema Firewall ...

Windows Server
gelöst Einzelnes Windows Update über GPO deinstallieren (16)

Frage von lordofremixes zum Thema Windows Server ...