0 Daumen
286 Aufrufe

Frage: Wie kann die Länge der Array entsprechend der Länge des Inputs festgelegt werden, sodass bei Testfall 2 nicht ein zusätzliches Leeres Feld mit 0 ausgegeben wird.

Aufgabe: Die Zahlen der Array sollen in umgedrehter Reihenfolge in eine andere Array kopiert werden.

Beispiel:
umdrehen({5, 3, 7, 1, 5, 7, 4}) -> {4, 7, 5, 1, 7, 3, 5}


Code:   int [] zahlen = new int [9];
  int [] zahlenAdden= new int[zahlen.length];
 
  public int[] umdrehen(int[] zahlen)
  {   

 
        for(int i = 0; i < zahlen.length; i++)
              {
                zahlenAdden[i] = zahlen[zahlen.length-1 -i];
   
             
    }
    return zahlen = zahlenAdden;
  }


TestFälle:


"Zufall"
korrekt: Deine Prozedur hat die Belegung korrekt umgedreht!
"Zufall"
falsch: umgekehrt([3, 6, 2, 6, 8, 8, 6, 1]) ergab [1, 6, 8, 8, 6, 2, 6, 3, 0]. Richtig wäre: [1, 6, 8, 8, 6, 2, 6, 3]


Avatar von

Gib ein minimales vollständiges Programm an.

1 Antwort

0 Daumen
int [] zahlenAdden = new int[zahlen.length];

Das gehört in die Funktion umdrehen rein.

Außerhalb der Funktion hat das Array zahlen die Länge 9, also hat auch das Array zahlenAdden die Länge 9.

Die Variable zahlen innerhalb der Funktion hat aber mit gleichnamigen Variable außerhalb nichts zu tun.

Avatar von 5,6 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community