Java Textausgabe mit einer While Schleife

Maximix

Well-known member
ID: 338681
L
14 Januar 2009
567
28
Ich habe ein Problem mit der 3. Aufgabe aus dem Tutorial hier https://www.gailer-net.de/tutorials/java5/Notes/chap15/progExercises15.html

Leider habe ich keine Ahnung wie ich die Punkte die ich mit der while Schleife ausgebe, zwischen die 2 Eingegeben Worte kriegen soll, ohne das diese auch zu oft geschrieben werden.
Habe auch schon in anderen Java Büchern gesucht und im Tutorial rumgesucht aber finde keine Lösung für mein Problem. Würde mich über eine Hilfe sehr freuen.

Hier mein bisheriger Code:
Code:
import java.util.Scanner;

public class SchleifenÜben2 {
	
	public static void main(String[] args)
	
	{
		String wort1,               
			   wort2;
		final int laenge = 30;                  // So viele Zeichen dürfen die 2 Wörter mit den Punkten dazwichen am Ende haben.
		int    laengeWort1,
			   laengeWort2,
			   wortlaenge;
		
		
		Scanner scan = new Scanner(System.in);
		
		System.out.println("Wort1:");			// Benutzer kann ein beliebiges Wort eingeben.
		wort1 = scan.next();
		
		System.out.println("Wort2:");
		wort2 = scan.next();
		
		laengeWort1 = wort1.length();			// Länge von Wort 1
		laengeWort2 = wort2.length();			// und Wort 2 werden geprüft.
		
		wortlaenge = laengeWort1 + laengeWort2; // Zeichenanzahl beider Worte.
		
		System.out.println( wort1 + wort2 );	// Hier sollten die Punkte dazwischen, bis 30 Zeichen erreicht sind.
		
		while (laenge >= wortlaenge )			// Schleife für die Ausgabe der "." die leider nicht funktioniert wie gewünscht.
		{
			System.out.print(".");
			wortlaenge = wortlaenge + 1;
		}		
		
	}
	
}
 
Einfach die Ausgabe des 2. Wortes nach der while-Schleife machen.

Also vor der Schleife das erste Wort ausgeben, dann eben durch die Schleife die Punkte und nachher das 2. Wort.

Oder du speicherst die Punkte in einem String und gibst nach dem durchlauf der Schleife wort1+punkte+wort2 aus...
 
Danke für die Superschnelle Antwort 8O

Habe sogar noch in die Richtung mit der Printausgabe gedacht, habs aber leider nicht ausprobiert, weil es mir vorher immer ne seperate Zeile geschrieben hat, wenn es von println Zeilen umgeben war.

Aber eine Frage habe ich doch noch, wie krige ich die Punkte aus der Schleife in eine String Variable? Kratze mit meinem Wissen glaub erst an der Oberfläche :p

Mfg
 
Indem du z.B. einfach vor deiner while-Schleife eine String-Variable anlegst, und dann einfach bei jedem Schleifendurchlauf deine Variable um einen "." erweiterst.

z.B. so:
PHP:
String punkte = "";     

while (laenge >= wortlaenge )			
{
   punkte = punkte + "."; //anstatt immer direkt einen weiteren Punkt auszugeben, immer dazuspeichern
   wortlaenge = wortlaenge + 1;
}


Kratze mit meinem Wissen glaub erst an der Oberfläche :p
Da hast du recht, aber jeder fängt mal an ;)
 
Eigentlich schon wider total simpel :ugly:

Es ist auch langsam schon spät wird Zeit das ich schlafen gehe :D