1
6 public class ErsetzenRekursivV2 {
7 public static void main(String[] args) {
8
9 String string = "aaabbcccccddd";
10
11 char[] zarray = string.toCharArray();
13
14 System.out.println("7:"+zarray[7]);
15
16 ersetze ( zarray , 7, 'X' );
18 System.out.println();
19
20 System.out.println(String.valueOf(zarray));
23 }
24
25
29 private static void ersetze ( char[] zeichenfolge, int pos, char zeichen ) {
30
31 char z = zeichenfolge[pos];
33 System.out.println();
34 System.out.println("ersetze( " + elements(zeichenfolge) + ", "
35 + pos + ", " + zeichen + " );");
36
37 zeichenfolge[pos] = zeichen;
39
40 System.out.println(" "+ elements(zeichenfolge));
41
42 System.out.println(" links " + (pos-1) + ":" + zeichenfolge[pos-1]);
43
45 if (pos > 0 && zeichenfolge[pos-1] == z)
46 ersetze ( zeichenfolge, pos-1, zeichen );
47
48 System.out.println(" rechts " + (pos+1) + ":" + zeichenfolge[pos+1]);
49
51 if (pos < zeichenfolge.length-1 && zeichenfolge[pos+1] == z)
52 ersetze ( zeichenfolge, pos+1, zeichen );
53 }
54
55
58 private static String elements( char[] ca ) {
59 String r = "|";
60 for (int i = 0; i < ca.length; i++)
61 r = r + i + ":" + ca[i] + "|";
62 return r;
63 }
64
65 }
66