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