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