Hallo Leute !!
Ich häng wieder mal
Ich hab ein int array mit zahlen von 1 bis 20.
Dann habe ich ein weiteres int Array das 2 mal mit 10 zufälligen Werten aus dem ersten Array befüllt werden soll. (Hoffe ich hab das richtig erklärt *gg*)
Hier wäre mal mein Lösungsansatz der leider nicht so wirklich hinhaut ... entweder bekomme ich eine ArrayIndexOutofBoundsException ...oder manche Werte kommen öfter als 2 mal in dem zufalls array vor.
Bitte um Hilfe !!
lg gurkenprinz
Ich häng wieder mal
Ich hab ein int array mit zahlen von 1 bis 20.
Dann habe ich ein weiteres int Array das 2 mal mit 10 zufälligen Werten aus dem ersten Array befüllt werden soll. (Hoffe ich hab das richtig erklärt *gg*)
Hier wäre mal mein Lösungsansatz der leider nicht so wirklich hinhaut ... entweder bekomme ich eine ArrayIndexOutofBoundsException ...oder manche Werte kommen öfter als 2 mal in dem zufalls array vor.
Java:
public class ArrayTest {
private int[]all = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
private int[] random = new int[20];
private int imagesLength = this.all.length;
public int[] getRandomImages()
{
for(int i = 0;i<10;i++)
{
int img = all[this.getRandomImage()];
random[i] = img;
}
for(int i =0;i<10;i++)
{
random[10+i]=random[i];
}
return random;
}
private int getRandomImage()
{
int pos = (int) (Math.random() * 100) % imagesLength;
int c = all[pos];
//Lücke im Array schließen !!
for (int i = pos+1; i < imagesLength; i++)
{
all[i - 1] = all[i];
}
imagesLength--;
return c;
}
/**
* @param args
*/
public static void main(String[] args)
{
ArrayTest t = new ArrayTest();
int[] i = t.getRandomImages();
System.out.println("Länge:"+i.length);
for(int j = 0;j<i.length;j++)
{
System.out.println(j+" : "+i[j]);
}
}
}
Bitte um Hilfe !!
lg gurkenprinz
Zuletzt bearbeitet von einem Moderator: