Quelltext

Java_Azubi

Mitglied
Java:
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

Bekanntes Mitglied
eigentlich ganz simple ;)
sobald
Java:
  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:
Java:
 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
Java:
    int[] c = {10, 11, 12};
    int[] b = {0, 1, 2};

zusammengezählt.
da diese zwei über den Methodenaufruf:
Java:
 w = add1(b, c);
aufgerufen werden

wenn etwas Unklar ist einfach Fragen :D
 
Zuletzt bearbeitet:

Machareder

Bekanntes Mitglied
Java:
 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
Java:
  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
Java:
return
false zurückgegeben
 
Zuletzt bearbeitet:

Neue Themen


Oben