Java Schleife lösen

eisküsschen

Grünschnabel
hey bin gerade am lernen für die nächste klausur
unteranderem müssen wird dort schleifen lösen, leider komme ich gerade bei der hier nicht wieter
Code:
int[] rei = {2, 0, 3, 1};
for (int i : rei) rei[i] = 3-i;
pln(Arrays.toString(rei));

Ausgabe:
Code:
[3, 2, 1, 1]


ich komme irgendwie auf etwas ganz anderes heraus.
ich gehe die schleife so durch...
an der stelle i=0 wird rei[0]= 3-2 was bei mir ein ergibt also ist meine herangehensweise falschh :s

könnte mir jemand nen tipp geben?
danke im voraus.
lg vivi
 
Hey vivi,

also, bei deiner schleife ist es vollkomen egal, wie das Array vorher bestückt war.

Der neue wert berechnet sich durch die Position im array. es wird nicht anderes gerechnet als:

1. 3-0;
2. 3-1;
3. 3-2;
4. 3-3; und an der der stelle stimmt was nicht. Eig. müsste am Ende eine 0 rauskommen

LG Reilif
 
Zuletzt bearbeitet:
ahh oki ich hatte vorher auch 321 und dann die null raus, dann dachte ich mir ich liege falsch...

aber das freut mich, dann ist es ja ganz logisch :D

danke für hilfe
 
Ist mir auch aufgefallen, war ein bisschen von dem pln() irritiert, dachte schon an rekursion, bis mir einfiel: println(); naja. siehe meinen post oben.

Hoffe es hilft dir
 
so habe noch eine schleife ist dann auch die letzte :D
Code:
StringBuilder[] sbr = {
   new StringBuilder("A+"),
   new StringBuilder("B+"),
   new StringBuilder("C+"),
 };

   for (int i=1; i<sbr.length; i++) {
   sbr[i].append(sbr[i-1]);
 }

   for (StringBuilder sb : sbr) p(sb);
   pln();

Ausgabe:
Code:
A+B+A+C+B+A+

Meine Ausgang ist doch A+B+C+
und dann hänge ich an der stelle 1 also be dem ersten plus [1-1=0] heran, was heißt A+AB+C+
dann bei i=2 [2-1=1] also A+A+B+C+

wenn ich so wieter mache kommt wieder mal nicht das richtige ergebnis raus.
 
ok. gehen wirs wieder durch:

1.Schleife:
1. an scr[1] wird scr[0] angehängt. Also scr[1] = "B+A+"
2. scr[2] + scr[1]. Also scr[2] = "C+B+A+" (weil scr [1] ja "B+A+" ist )

2.Schleife:
Ausgabe: A+B+A+C+B+A+

einverstanden?
 
Zurück