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