# Quelltext



## Java_Azubi (27. Jan 2014)

```
import java.util.Arrays;

 public class AufgabeB {
   public static void main(String[] args) {
     int[] c = {10, 11, 12};
     int[] b = {0, 1, 2};
     int a = 10;
     int d = -10;
     int[] e = {5, 6};
     boolean w = true;
     w = add1(b, c);
     w = add1(e, c);
     System.out.println(w);
     System.out.println(Arrays.toString(c));
     w = add2(a, d);
     System.out.println(w);
     System.out.println(d);
   }
   public static boolean add1( int[] a, int[] b ){
     if (a.length != b.length){
       return false;
     }
    int zaehler = 0;
     while (zaehler < a.length){
       b[zaehler] += a[zaehler];
       zaehler++;
     }
     return true;
   }
   public static boolean add2( int a, int b){
     if (a == 0){
       return false;
     }
     b += a;
     return true;
   }
}
```

bei diesem Programm bin ich mir sehr unsicher, was in dieser Zeile passiert.
 b[zaehler] += a[zaehler];
Könnte mir das jemand erklären?
Ich weiß nicht, wieso das zweite Ergebnis [10,12,14] ist


----------



## Machareder (27. Jan 2014)

eigentlich ganz simple 
sobald 

```
while (zaehler < a.length){
```
der zaehler gleich der länge von a ist, in diesem Beispiel ist die Länge von a 3(-> Ist in diesem Code vllt etwas kompliziert/unübersichtlich dargestellt).
ich habe den Code an dieser Stelle ein bisschen verändert:

```
public static boolean add1( int[] x, int[] y ){
    if (x.length != y.length){
      return false;
    }
   int zaehler = 0;
    while (zaehler < x.length){
      y[zaehler] += x[zaehler];
      System.out.println(zaehler);
      zaehler++;
    }
    return true;
  }
```

(Es ist der gleich Code wie davor außer, dass ich Int a in Int x und Int b in Int y umgenannt habe.)
wird 

```
int[] c = {10, 11, 12};
    int[] b = {0, 1, 2};
```

zusammengezählt.
da diese zwei über den Methodenaufruf:

```
w = add1(b, c);
```
aufgerufen werden

wenn etwas Unklar ist einfach Fragen


----------



## Machareder (27. Jan 2014)

Hast du noch Fragen, oder hast du´s verstanden


----------



## Java_Azubi (27. Jan 2014)

Ich habs leider noch nicht ganz...
add1 (b,c) => Ausgabe ist klar
add1 (e,c) => noch nicht klar


----------



## Machareder (27. Jan 2014)

```
w = add1(e, c);
    System.out.println(w);
```
es wird wieder die Methode add1 aufgerufen und dabei wird abgefragt ob die länge von e (!=) *nicht * so lang ist wie von c

```
public static boolean add1( int[] x, int[] y ){
    if (x.length != y.length){
      return false;
    }
```

da dass stimmt, also dass es e kürzer als c ist wird über 
	
	
	
	





```
return
```
 false zurückgegeben


----------



## Java_Azubi (27. Jan 2014)

:idea:


----------

