Hei,
yritän saada arvottua kipailun lähtöjärjestyksen (50 kilpailijaa). Muuten olen saanut homman toimimaan (koodi alla), mutta vielä pitäisi saada tulostamaan niin, että ei tulisi samoja lukuja kahteen tai useampaan kertaan. Osaisiko joku kokeneempi neuvoa?
import java.util.*;
public class Lähtöjärjestys {
public static void main (String[] args){
int[] luku = new int [50];
for (int i=0; i < luku.length; i ){
luku [i] = 1 (int) (Math.random() * 50-1);
}
System.out.print("Arvotaan kilpailun lähtöjärjestys: ");
for (int i=0; i < luku.length; i ){
System.out.print(" " luku [i]);
}
}
}
yritän saada arvottua kipailun lähtöjärjestyksen (50 kilpailijaa). Muuten olen saanut homman toimimaan (koodi alla), mutta vielä pitäisi saada tulostamaan niin, että ei tulisi samoja lukuja kahteen tai useampaan kertaan. Osaisiko joku kokeneempi neuvoa?
import java.util.*;
public class Lähtöjärjestys {
public static void main (String[] args){
int[] luku = new int [50];
for (int i=0; i < luku.length; i ){
luku [i] = 1 (int) (Math.random() * 50-1);
}
System.out.print("Arvotaan kilpailun lähtöjärjestys: ");
for (int i=0; i < luku.length; i ){
System.out.print(" " luku [i]);
}
}
}
Vastaukset 4
Vanhimmat
Sun täytyy luvun arpomisen jälkeen käydä taulukko "luku" läpi ja verrata sen alkioita arvottuun lukuun. Jos löytyy sama, arvot luvun uudestaan ja käyt jälleen läpi taulukon. Sitten kun lukua ei löydy, lisäät sen taulukkoon.
Unohdin mainita, että tuosta taulukon tarkastamisesta kannattaa tehdä erillinen metodi, joka palauttaa vaikka truen tai falsen.
Kiitoksia!
Ei tarvii randomeita kun laitat ekaks mahdolliset arvot ArrayListiin, eli integerit 1-50. Ja sitten vaa Collections.shuffle ja tadaa se oli siinä.