Eri satunnaislukujen arpominen

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]);
}
}
}
4287
Äänestä

Muut lukivat myös

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.

Äänestä
  • Unohdin mainita, että tuosta taulukon tarkastamisesta kannattaa tehdä erillinen metodi, joka palauttaa vaikka truen tai falsen.

    Äänestä

Kiitoksia!

Äänestä

Ei tarvii randomeita kun laitat ekaks mahdolliset arvot ArrayListiin, eli integerit 1-50. Ja sitten vaa Collections.shuffle ja tadaa se oli siinä.

Äänestä

Kommentoi aloitusta


Järjestys kirjoitti:

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]);
}
}
}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu