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