| ArrayExamples3.java |
1 /**
2 * 183.592 Programmierpraxis TU Wien WS2014/15 H.Moritsch
3 * Verarbeitung von String-Arrays
4 */
5 public class ArrayExamples3 {
6 public static void main(String[] s1rgs) {
7
8 // Arrays deklarieren und erzeugen
9 String[] s1 = new String[10];
10 String[] s2 = new String[10];
11 String[] s3 = new String[10];
12
13 // Array s1 initialisieren
14 for (int i = 0; i < 10; i++) // elementweise Zuweisung von Werten:
15 s1[i] = "(element " + i + ")";
16
17 // Array kopieren: Werte der Elemente
18 for (int i = 0; i < 10; i++) // Kopieren der Werte der Elemente von s1
19 s2[i] = s1[i]; // in die entsprechenden Elemente von s2
20
21
22 // mittels length:
23 // for (int i = 0; i < s1.length; i++)
24 // s1[i] = i;
25
26 // for (int i = 0; i < s1.length; i++)
27 // s2[i] = s1[i];
28
29
30 // Array s2 ausgeben
31 for (int i = 0; i < s2.length; i++)
32 System.out.println("s2[" + i + "] : "+s2[i]);
33 System.out.println(); // Abschluss mit Leerzeile
34
35 // Array s2 ausgeben, mittels Methode
36 ausgabe ( s2 );
37
38 // Array s1 nach Array s3 kopieren
39 kopiere( s1, s3 ); // Array s3 wird verändert!
40 ausgabe( s3 );
41
42 // neues Array s4 erzeugen, das eine Kopie von s1 ist
43 String[] s4 = kopie( s1 );
44 ausgabe( s4 );
45
46 // Elemente von s1 verdoppeln
47 verdopple( s1 ); // Array s1 wird verändert!
48 ausgabe( s1 );
49
50 // neues Array s5 erzeugen, das die verdoppelten Elemente von s1 enthält
51 String[] s5 = verdoppelt( s1 );
52 ausgabe( s5 );
53
54 }
55
56 /**
57 * Ausgabe aller Elemente eines Arrays.
58 */
59 private static void ausgabe(String[] s1) {
60
61 for (int i = 0; i < s1.length; i++)
62 System.out.println("[" + i + "]: " + s1[i]);
63
64 System.out.println(); // Abschluss mit Leerzeile
65 }
66
67 /**
68 * Kopieren eines Arrays.
69 * Das Array, das an Stelle von b übergeben wird, wird verändert!
70 */
71 private static void kopiere(String[] s1, String[] s2) {
72 for (int i = 0; i < s1.length; i++) // Kopieren der Werte der Elemente von s1
73 s2[i] = s1[i]; // in die entsprechenden Elemente von s2
74 }
75
76 /**
77 * Kopieren eines Arrays.
78 * Liefert neues Array, das eine Kopie des übergebenen Arrays ist.
79 */
80 private static String[] kopie(String[] s1) {
81 String[] r = new String[s1.length]; // neues Array r derselben Länge wie s1
82
83 for (int i = 0; i < s1.length; i++) // Kopieren der Werte der Elemente von s1
84 r[i] = s1[i]; // in die entsprechenden Elemente von r
85
86 return r; // r wird als Ergebnis zurückgegeben
87 }
88
89 /**
90 * Elementweises Verdoppeln eines String-Arrays.
91 * Das übergebene Array wird verändert!
92 */
93 private static void verdopple(String[] s1) {
94
95 for (int i = 0; i < s1.length; i++)
96 s1[i] = s1[i] + " *** " + s1[i]; // Element i wird "verdoppelt"
97 }
98
99 /**
100 * Elementweises Verdoppeln eines String-Arrays.
101 * Liefert ein neues Array, das die verdoppelten Strings des übergebenen Arrays enthält.
102 */
103 private static String[] verdoppelt(String[] s1) {
104 String[] r = new String[s1.length]; // neues Array derselben Länge wie s1
105
106 for (int i=0; i< s1.length; i++) // den Elementen von r werden die
107 r[i] = s1[i] + " *** " + s1[i]; // entsprechenden Elemente von s1 "verdoppelt" zugewiesen
108
109 return r; // r wird als Ergebnis zurückgegeben
110 }
111
112 }
113