2 Arrays abwechselnd verbinden

newcommer28

Mitglied
Hallo Zusammen, meine Aufgabe lautet:
Schreiben Sie ein Java-Programm, in welchem zwei Arrays a und b von int- Werten der Länge 10 deklariert und implementiert werden. Sie sollen mit den Werten 90, 41, 34, 43, 4, 9, 3, 6, 22, 55 und 8, 42, 5, 7, 25, 23, 21, 66, 19, 2 gefüllt werden. Dann soll ein drittes Array c der Länge 20 erzeugt werden. Dieses soll folgendermaßen gefüllt werden: 90, 8, 41, 42, ….. Es soll also abwechselnd die Werte der beiden bisherigen Arrays erhalten: a[0], b[0], a[1], b[1] u.s.w..
Benutzen Sie dazu eine Schleife.
Tipp: Sie können an dieser Stelle ganzzahlige Division gut gebrauchen!
Geben Sie mittels System.out.print(…) dann das Ergebnisarray c aus. Benutzen Sie hierzu eine weitere Schleife. Die einzelnen Zahlen sollen in der Ausgabe mittels Semikolon voneinander getrennt werden.

So einen kleinen Ansatz habe ich:
ich weiss wie ich diese verbinden kann( int [] c= new int[a.length+b.length], weiss aber leider nicht wie es abwecheselnd gemacht werden soll.
Diese würde ich dann in for-Schleifen packen wie:
for(int i=0;i<(a.length+b.length);i++){
for (int j=0;j<c.length;j++){
System.out.println(c[j]);
weiter komme ich leider nicht :/
 
Ich hätte das ohne ganzzahlige Division gelöst:
Mit 2*i bekommst du alle geraden Indizes
Mit 2*i+1 alle ungeraden,
dann brauchst du nur noch mit einer Schleife von i=0 bis <10 durchlaufen und c jeweils zuweisen ...
 
du greift immerhin schon mal auf die richten Indizes zu ja, aber du sollst ja jetzt die Inhalte von a und b in c reinschreiben.
Das Ausgaben per System.out.println() ist erst der zweite Schritt, hierfür würde sich jedoch eine normale Schleife von 0 bis <20 anbieten ...
 
nein, du holst dir ja nur die Längen von a und b, addierst sie, und erstellst ein neues Array mit Länge dieser Summe.
du kannst ja per c[k] auf die Elemente zugreifen ...
d.h. wenn du c[k] = a[p]; machst, dann schreibst du den Wert von a an der Stelle p nach c auf Stelle k...
 
lies nochmal die Aufgabenstellung.
Und schreib dir mal auf, wohin welche Elemente kommen.
Wenn dir es "allgemein" also in Formeln zu schwierig ist, dann versuch es mit Zahlen und expliziten Indizes.
Java-Code bitte in Code-Tags posten, indem du Einfügen ... Code ... Java auswählst.
 
ich weiss das es am ende so aussehen soll:
Java:
c[0]=a[0]
c[1]=b[0]
c[2]=a[1]
das ich c,a[p],b[k] habe und diese dann in eine schleife packen muss
aber dieses abwecheslnd verwirrt mich total da ich irgendwie nicht dahinter komme wie ich wie ich c[0] den ersten wert von a zuweise und dann c[1] den ersten wert von b.
 
Naja, kannst du jetzt die Zuweisung mit der Formel, die ich oben genannt habe in Verbindung bringen?
Vorallem wenn du das Array a und die Formel 2*i
sowie das Array b und die Formel 2*i+1 anschaust...
 
Okay, also wo genau in der Aufgabe steht jetzt, dass hier zwei Werte von a und b addiert werden?
Außerdem: wenn i tatsächlich bis "kleiner"20 läuft, also 19, dann ist 2*i 38, vielleicht sollte diese Schleife nur bis 10 laufen ...

Java:
for(int i=0;i<10;i++){
     c[2*i]=a[i];     //jeder Eintrag von a wird an eine gerade Position in c geschrieben
     c[2*i+1]=b[i]; //jeder Eintrag von b wird an eine ungerade Position in c geschrieben
}
 

Zurück
Oben