mam napisac program w konsoli, ktory losuje 6 liczb z 36 i one sie niepowtarzaja
mozecie pomóc??
z gory dzieki
mam napisac program w konsoli, ktory losuje 6 liczb z 36 i one sie niepowtarzaja
mozecie pomóc??
z gory dzieki
chmyy.. takie coś już było. I chyba też nawet w Javie, ale do Newbie przeniesiono.
co to jest Newbie??
No to pytanie wymiata. Tu masz linka http://4programmers.net/Forum/viewtopic.php?id=118105
a Newbie to sobie zobacz sam co to jest
a można prosic jakas taka jak najprostszą wersje tego programu- dla początkujących-tamten kod to czarna magia:/
import java.util.Arrays;
import java.util.HashMap;
public class Main {
private final static int SIZE = 36;
private int[] tab;
public Main() {
tab = new int[SIZE];
for(int i=0; i<tab.length; i++)
tab[i] = i;
System.out.println("Liczby 0-"+(SIZE-1)+":");
for(int i=0; i<tab.length; i++)
System.out.print(tab[i]+", ");
System.out.println();
System.out.println("Pomieszane liczby 0-"+(SIZE-1)+":");
int[] shuffle = shuffle(tab);
for(int i=0; i<shuffle.length; i++)
System.out.print(shuffle[i]+", ");
System.out.println();
}
private int[] shuffle(int[] tab) {
HashMap map = new HashMap();
//dla kazdej wartosci tablicy tab losowana jest liczba z przedzialu 0-1
double[] randoms = new double[tab.length];
for(int i=0; i<randoms.length; i++) {
randoms[i] = Math.random();
//liczby z tablicy tab przyporzadkowane sa do hashmapa kluczami tablicy randoms,
//tak ze wartosc tablicy randoms z indeksem 'i' odpowiada wartosci
//tablicy tab o tym samym indeksie
map.put(new Double(randoms[i]), tab[i]);
}
Arrays.sort(randoms); //tablica randoms jest sortowana
//do tablicy shuffle wycigana sa wartosci tablicy tab
//na podstawie kluczy posortowanej tablicy randoms
int[] shuffle = new int[tab.length];
for(int i=0; i<shuffle.length; i++)
shuffle[i] = (Integer)map.get(new Double(randoms[i]));
return shuffle;
}
public static void main(String[] args) {
try {
new Main();
}catch(Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
}