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

Java while Schleife Problem

Frage Entwicklung Java

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

29.07.2012 um 13:17 Uhr, 3749 Aufrufe, 8 Kommentare

Hallo
Versuche mich gerade durch ein Java tutorial zu quelen.
Hänge jetzt an den "Hausaufgaben"

Und zwar geht es darum, zwischen 2 Wörtern, die eingegeben werden können, soviel Punkte zu erzeugen, das es insgesamt 30 Zeichen sind.
Das ganze auf einer Zeile.
Sobald ich aber versuche eine while Schleife in ein System.out.println zu packen, bekomme ich einen error.
Ich kann mir schon vorstellen, das ich irgendwo einen Denkfehler mache, ich komme aber absolut nicht drauf wo.
Könnte jetzt natürlich auch einfach weitermachen mit dem Tutorial, aber das ist ja nicht sin, der Sache, es geht ja um die Problemlösung.

Hier die Aufgabenstellung (Aufgabe 3):
http://www.gailer-net.de/tutorials/java5/Notes/chap15/progExercises15.h ...
Hier mein Lösungsansatz
01.
import java.util.Scanner; 
02.
class BeispielSchleife 
03.
04.
	public static void main (String[]args) 
05.
06.
			Scanner scan = new Scanner (System.in); 
07.
			String String1; 
08.
			String String2; 
09.
			int laenge , zaehler , laenge2; 
10.
			zaehler = 1; 
11.
			System.out.println("Gegen Sie das erste Wort ein:"); 
12.
			String1 = scan.nextLine(); 
13.
			laenge = String1.length(); 
14.
			System.out.println("Geben Sie das zweite Wort ein:"); 
15.
			String2 = scan.nextLine(); 
16.
			laenge2 = String2.length(); 
17.
		        laenge = laenge + laenge2; 
18.
			laenge = 30 - laenge; 
19.
			//System.out.println(String1);  
20.
			System.out.println( 
21.
			while (zaehler <= laenge) 
22.
23.
				System.out.println("."); 
24.
				zaehler = zaehler + 1;  
25.
			}); 
26.
			//System.out.println(String2); 
27.
		 
28.
			 
29.
			System.out.println("Schleife beendet"); 
30.
31.
	}
So wolte ich es ursprünglisch lösen:
01.
                System.out.println(String1 +  
02.
			while (zaehler <= laenge) 
03.
04.
				System.out.println("."); 
05.
				zaehler = zaehler + 1;  
06.
07.
			+ String2);
Schonmal danke für eure Hilfe
Mfg
Power-Poler
Mitglied: 76109
29.07.2012 um 15:04 Uhr
Hallo Power-Poler!

Eine Sub oder Function erwartet vorgebenene Parameter und keinen Programmcode, mit dem sie absolut nix anfangen kann. Das (+) hingegen ist nur ein Verkettungsoperator, mit dem Strings zusammengefügt werden können und somit einen kompletten String ergeben und übergeben werden.

Java ist nicht mein Gebiet, müsste aber sinngemäß in etwa so gehen:
01.
laenge = String1.length() + String2.length(); 
02.
 
03.
For (i=laenge; i <= 30; i++) 
04.
05.
   String1 = String1 + "." 
06.
07.
 
08.
System.out.println(String1 + String2); 
Gruß Dieter
Bitte warten ..
Mitglied: Power-Poler
29.07.2012, aktualisiert um 15:11 Uhr
Ok, danke so funktioniert es.
Aber ich würde gerne noch wissen, wie das gemeint ist:
"Hinweis: Verwenden Sie System.out.print(".") innerhalb einer Schleife, um die Punkte auszugeben."
So erhalte ich nämlich alle punkte in einer neuen Zeile, nicht in einer.
Also wenn ich es so mache wie in dem Hinweis.
Bitte warten ..
Mitglied: 76109
29.07.2012, aktualisiert um 15:13 Uhr
Hallo Power-Poler!

Damit ist gemeint, jeden Punkt einzeln auszugeben. Demnach dann so:
01.
laenge =  String1.length() + String2.length(); 
02.
 
03.
System.out.println(String1);  
04.
 
05.
For (i=laenge; i <= 30; i++) 
06.
07.
  System.out.println(".");  
08.
09.
 
10.
System.out.println(String2); 
Gruß Dieter
Bitte warten ..
Mitglied: Power-Poler
29.07.2012 um 15:46 Uhr
Dann habe ich aber doch 30 Zeilen untereinander, oder?
Die Punkte und die 2 Wörter sollen aber in einer Zeile stehen.
Bitte warten ..
Mitglied: 76109
29.07.2012 um 15:54 Uhr
Hallo Power-Poler!

Sicherlich gibt's in Java noch andere Print-Funktionen, wie etwa Prints (String), Printc (Char)... Also ohne automatischen Zeilenumbruch am Ende?

Gruß Dieter
Bitte warten ..
Mitglied: Power-Poler
29.07.2012 um 16:02 Uhr
Das kann sein, aber wenn ich mich nicht irre, wurde es in dem tutorial bis dorthin noch nicht behandelt, und daher wird das auch nicht verlangt sein.
Bitte warten ..
Mitglied: 76109
29.07.2012 um 16:22 Uhr
Hallo Power-Poler!

Ja, und hast Du es schon mit 'System.out.print(".")' versucht?

Ansonsten musst Du warten, bis ein Java-Kundiger auf Deinen Thread aufmerksam wird


Gruß Dieter
Bitte warten ..
Mitglied: Power-Poler
29.07.2012 um 17:05 Uhr
Danke, das war die Lösung, jetzt weiß ich auch endlich für was das "ln" steht.
Neue Zeile nach dieser, oder so ähnlich, zumindest sieht es so aus.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Java
Problem bei Java und FTP (1)

Frage von Marlon1 zum Thema Java ...

Batch & Shell
gelöst Batch Problem bei einer For Schleife (2)

Frage von Juergen42 zum Thema Batch & Shell ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...

Windows Netzwerk
gelöst Problem mit PSexec64 von Sysinternals (8)

Frage von MaxMoritz6 zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...