Hallo,
ich muß in dem folgenden Programm die Einträge der Liste B in die Liste a einfügen. Das Problem ist die Einträge müssen abwechselnd eingefügt werden. Das heißt : Eintrag a, dann Eintrag b, dann wieder Eintrag a, dann Eintragb usw. Außerdem muß das ganze auch laufen wenn in der Anfangsliste a und Anfangsliste b mehr oder weniger Einträge stehen. Habe schon einiges herumprobiert. Mal komplizierter mal weniger. Entweder klappt es wenn ich Liste a und b unverändert lasse, aber sobald ich liste a dann kürzer(oder auch umgekehrt) mache geht es nicht. Hoffe ihr könnt mir helfen! Danke
Habe es mal so probiert:
und hier etwas komplizierter:
Die erste Variante scheint mir besser. Mein Problem ist , dass es am Ende abstürzt, weil das Programm mit der Listengröße nicht klar kommt. Wie gesagt, es muß auch bei veränderter größe funktionieren. Hoffe Ihr könnt mir Anfänger bei meinem Problem helfen! Nochmals Danke
ich muß in dem folgenden Programm die Einträge der Liste B in die Liste a einfügen. Das Problem ist die Einträge müssen abwechselnd eingefügt werden. Das heißt : Eintrag a, dann Eintrag b, dann wieder Eintrag a, dann Eintragb usw. Außerdem muß das ganze auch laufen wenn in der Anfangsliste a und Anfangsliste b mehr oder weniger Einträge stehen. Habe schon einiges herumprobiert. Mal komplizierter mal weniger. Entweder klappt es wenn ich Liste a und b unverändert lasse, aber sobald ich liste a dann kürzer(oder auch umgekehrt) mache geht es nicht. Hoffe ihr könnt mir helfen! Danke
Code:
import java.util.*;
public class ListTest
{
public static void main(String[] args)
{
List<String> a = new LinkedList<String>();
a.add("Angela");
a.add("Carl");
a.add("Erica");
//a.add("neu");
//a.add("neu2");
List<String> b = new LinkedList<String>();
b.add("Bob");
b.add("Doug");
b.add("Frances");
b.add("Gloria");
Iterator<String> ai = a.iterator(); // dies habe ich eingefügt
Iterator<String> bi = b.iterator(); // dies habe ich eingefügt
int i= -1; // dies habe ich eingefügt
int ia=a.size(); // dies habe ich eingefügt
int ib=b.size(); // dies habe ich eingefügt
//Hier: Liste b in Liste a einfügen, aber abwechselnd!!!
//Ausgabe soll lauten: [Angela, Bob, Carl, Doug, Erica, Frances, Gloria]
System.out.println(a);
Habe es mal so probiert:
Code:
for (int j=0;j<b.size();j++){
if (ai.hasNext())
i=i+2;
else
i++;
a.add((i),b.get(j));
}
und hier etwas komplizierter:
Code:
if (ib<=ia)
i=i+2;
else if (ia == 1)
i++;
else if (a.size() == 2)
i=+2;
else if ((a.size()<(b.size()+2)) && (a.size() > 2))
i=i+2;
else
i++;*/
}
Die erste Variante scheint mir besser. Mein Problem ist , dass es am Ende abstürzt, weil das Programm mit der Listengröße nicht klar kommt. Wie gesagt, es muß auch bei veränderter größe funktionieren. Hoffe Ihr könnt mir Anfänger bei meinem Problem helfen! Nochmals Danke