| FormatierungFixed.java |
1 import java.util.Scanner;
2 /**
3 * 183.592 Programmierpraxis TU Wien WS2014/15 H.Moritsch
4 * Formatierung eines Textes durch Begrenzung der Zeilenlänge
5 */
6 public class FormatierungFixed {
7 public static void main(String[] args) {
8 Scanner scanner = new Scanner(System.in);
9
10 int zeilenlaenge; // vorgegebene Zeilenlänge
11
12 String wort;
13
14 String zeile; // Zeile des neuformatierten Textes
15 int position; // Position des Zeilenendes
16 int zaehler; // zählt die erzeugten Zeilen
17
18 zeilenlaenge = 10;
19
20 zaehler = 0;
21
22 System.out.println("Bitte geben Sie einen Text ein");
23
24 zeile = "";
25 position = 0;
26
27 // wortweise Eingabe
28
29 while (scanner.hasNext()) {
30
31 wort = scanner.next();
32
33 // eine Zeile wird aus den eingelesenen Worten aufgebaut
34
35 zeile = zeile + " " + wort;
36
37 // Position des Zeilenendes wird aktualisiert
38
39 position = position + 1 + wort.length();
40
41 if (position >= zeilenlaenge) {
42
43 // wenn vorgegebene Zeilenlänge erreicht:
44
45 zaehler = zaehler + 1;
46
47 ausgabeZeile(zaehler, zeile); // Ausgabe der Zeile
48
49 zeile = ""; // neue Zeile, noch leer
50 position = 0;
51 }
52 }
53
54 // eventuell noch nicht ausgegebene letzte Zeile
55
56 if (zeile.length() > 0 ) {
57 zaehler = zaehler + 1;
58 ausgabeZeile(zaehler, zeile);
59 }
60
61 }
62
63 /**
64 * Ausgabe einer Zeile
65 */
66 private static void ausgabeZeile(int nummer, String zeile) {
67 System.out.println("Zeile " + nummer + ":" + zeile);
68 }
69
70 }
71