# arrayliste oder sowas erstellen



## Umut1983 (17. Mai 2007)

hallo Leute
also gleich vorweg, ich weiß so gut wie garnichts in Java :S .Ich hab nur Flash Html und Php drauf und ein bisschen Javascript. 

Also ich will eigentlich was ganz Simples:
Eine Art Array erstellen wo Strings die ich selber vorgebe drin sind. Es sind genau 106.

Mit eine Schleife würde ich dann gern jeweils 14 zufällige Elemente herholen und die daraufhin natürlich löschen da die Schleife diesen Vorgang 2-4 mal wiederholen soll und keine doppelten Werte somit ausgeben soll.

Also kurz und knapp wie kann ich per Zufall ein Argument aus dem Array auslesen und diesen daraufhin löschen?

Ich habs mir so vorgestellt (zumindest in Flash gehts easy):
Array karten = {"karte 1","karte 2",......."karte 106"};
for ( i=4; i>0;i--)
  {  // tja hier ist die Frage wie ichs machen könnt ^^
   - irgendwie random 14 zufällige array elemente;
    - diese löschen
   - naja und zu letzt möchte ich sie noch in einen sharedobject schreiben aber das krieg ich hin;

}

Danke schonmal im voraus !!  P.s naja und wie addiert man zahlen überhaupt habs nicht hinbekommen


----------



## b0unc3 (17. Mai 2007)

```
import java.util.ArrayList; // importiert die Klasse 'ArrayList'
import java.util.Random;  // importiert die Klasse 'Random'

public class tmp {
	public static void main(String[] args) {
		ArrayList <String> karten = new ArrayList();  // legt eine neue ArrayList an, die nur String annimmt
		Random rnd = new Random(); // legt ein Random Objekt an
		int n;  // hier wird die zufallszahl gespeichert
		karten.add("karte 1");
		karten.add("karte 2");
		karten.add("karte 3");
		karten.add("karte 4");
		karten.add("karte 5");
		// und halt immer so weiter
		
		for (int i = 0; i < 4; i++) { // läuft 4 mal durch
			for (int x = 0; x < 14; x++) { // macht 14 durchläufe
				n = rnd.nextInt(karten.size()); // nimmt sich eine zufallszahl zwischen 0 und der Anzahl der einträge in der ArrayList 'karten'
				System.out.println(karten.get(n)); // gibt den eintrag an dem index 'n' aus
				karten.remove(n);  // entfernt den gerade ausgegebenen eintrag
			}
		}
	}
}
```

So sollte es gehen, allerdings musst du mindestens 4*14 elemente in die ArrayList packen, da du sonst eine Exception bekommst!!

Mfg. b0unc3

Ps.: Sollte was nicht gehen oder unklar sein einfach bescheid geben


----------



## Umut1983 (17. Mai 2007)

ja hi
danke für deine Mühe sieht super aus !
Da gibts nur noch ein Problem :
Ich mach das mit eclipse und jre 1.6 und der unterstreicht mir das heir rot -.-
ArrayList <String> karten = new ArrayList(); 

hab auch die arraylist importiert.


----------



## b0unc3 (17. Mai 2007)

Dann stell entweder auf jre 1.5 um, oder mach einfach das '<String>' weg, dann gehts auch mit *6* ;-) 


Achja und beim nächsten mal bitte auch mit posten, was eclipse für eine Fehlermeldung macht ..


----------



## tobias_petry (17. Mai 2007)

muss es nicht

```
ArrayList <String> karten = new ArrayList<String>();
```
heißen ?


----------



## Umut1983 (17. Mai 2007)

Nö Bounce hat schon recht gehabt 
Danke


----------



## b0unc3 (17. Mai 2007)

habs grad ma nachgeschaut, hast schon recht, aber bei mir ging es so, wie es oben steht.. nuja er solls mal versuchen vielleicht gehts ja dann, danke fürs mitdenken 
//edit:

Vielleicht ist 'meins' Java 1.5 und deine Java 6 !?

//edit 2:



> Nö Bounce hat schon recht gehabt


das das so geht wusste ich ja, hatte das selbe Problem auch mal

und mit:


```
ArrayList <String> liste = new ArrayList<String>();
```

geht es auch unter Java 6  ahsb grad getestet


----------

