Ausgabe

Java_Azubi

Mitglied
Java:
public class Count2 {
  public static void main(String[] args) {
    int [] a = { 0, 1, 1, 1, 0};          // Werte dem Array zuordnen
    int [] b = { 1, 0, 0, 1, 0};          // Werte dem Array zuordnen
    int result3 = dec( a );               // Methode deklarien
    System.out.println( result3 );        //Ausgabe result3
    int result4 = dec( b );                // Methode deklarien
    System.out.println( result4 );        //Ausgabe result3
  }
  public static int dec(int[] a){        // Methode 
    int number = 0;
    for (int i = 0; i < a.length; ++i){           // i<4
      number += a[i] * Math.pow(2, a.length - 1 - i);
    }
    return number;        //gebe number zurück
  }
}

ich verstehe leider nicht, was hier (number += a * Math.pow(2, a.length - 1 - i);) passiert
+= weist den Wert zu und liefert + als Rückgabewert.
Math.pow (Potenzen) a.length = 5
könnte mir jemand einmal Zahlen einsetzen? Damit ich es verstehe?
 

Machareder

Bekanntes Mitglied
Beispiel:
Java:
int [] a = { 0, 1, 1, 1, 0};
wird mit
Java:
for (int i = 0; i < a.length; ++i){           // i<4
number += a[i] * Math.pow(2, a.length - 1 - i);
berechnet

So die Berechnung geht wie folgt:
Java:
(2, a.length - 1 - i)
du nimmst 2 * die Länge von a, von a ziehst du aber 1 und den Wert von i ab, also in diesem Beispiel:
0 += 0 * 2 ^ (5 - 1 - 0) // steht für int [] a = { 0, 1, 1, 1, 0}
das Zwischenergebnis ist 0;
0 += 1 *2 ^ (5 - 1 - 1)
das Zwischenergebnis ist 8;
8 += 1 * 2 ^ (5 - 1 - 2)
das Zwischenergebnis ist 12;
12 + = 1 * 2 ^ (5 - 1 - 3);
das Zwischenergebnis ist 14;
14 += 0 * 2 ^ (5 - 1 - 4)
das Zwischenergebnis ist 14;

das Ergebnis für a lautet 14.
 
Zuletzt bearbeitet:

Neue Themen


Oben