Java Lotto

waxpopopopo

Ongelmana olisi lisänumeroiden saanti kyseiseen ohjelmaan. Ja lisänumeroiden pitäisi olla OMASSA taulukossaan "lottolisa = new int[3];", eikä tietenkään samoja numeroita saa tulla varsinaisen lottorivin kanssa. Olen tähän toisenlaisen ratkaisun kehittänyt (missä käytettiin samaa taulukkoa lisänumeroissa kuin varsinaisessa lottorivissä), mutta se ei kelpaa, joten auttava käsi olisi 5h miettimisen jälkeen tarpeen.

Tässä pohja mihin pitäisi kehittää lisänumerot:

public class Lottonumerot {

public static int[] lottorand;
public static int[] lottolisa;

public static void arvolotto() {

lottorand = new int[7];
lottolisa = new int[3];
boolean sopii = true;

for (int i = 0; i < lottorand.length; i ) {
int uusi = 1 (int) (39 * Math.random());
for (int j = 0; j < i; j ) {
if (lottorand[j] == uusi) {
sopii = false;
i--;
break;
}
}
if (sopii) {
lottorand[i] = uusi;
}
sopii = true;
}


System.out.print("Lottorivi: ");
for (int j = 0; j < lottorand.length; j ) {
System.out.print(lottorand[j] " ");
}

System.out.print("\nLisänumerot: ");
for (int j = 0; j < lottolisa.length; j ){
System.out.print(lottolisa[j] " ");
}
}

public static void main(String[] args) {
arvolotto(); }}

9

1665

    Vastaukset 9

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ljasljalsfjhadshj

      Tarvitset vain yhden taulukon jossa on kaikki lottonumerot 1-39. Sitten sekoitat sen tuon koodin avulla:
      http://en.wikipedia.org/wiki/Fisher–Yates_shuffle#Example_implementations

      Ja tulostat taulukon 7 ekaa numperoo ja kolme seuraavaa numperoo lisänumeroiksi....

      Yksinkertaista kun sen osaa.... kannattaa lukea tuo wikin selostus tarpeeksi perusteellisesti jotta varmasti ymmärtää homman. Opettavaista on se.

      • waxpopopopo

        Muuten kyllä voisin tehdä niin, mutta tarvitsisin tuon public static int[] lottolisa; taulukon myöhempää vaihetta varten missä verrataan käyttäjän syöttämiä numeroita lottonumeroihin ja lisänumeroihin. Ja pysytyisin tulostamaan esim

        if (oikein == 6 && oikeinlisa > 0)
        System.out.println("\n\nLottorivilläsi oli: " oikein " ja lisänumero oikein");

        Jos teen yhteen taulukkoon, pystynkö tekemään homman noin, että vertaa osuiko lisänumero oikeaan? Vai ilmoittaako vain:

        System.out.println("\n\nLottorivilläsi oli: " oikein " oikein");


      • kjfkjaskadnadsdsd
        waxpopopopo kirjoitti:

        Muuten kyllä voisin tehdä niin, mutta tarvitsisin tuon public static int[] lottolisa; taulukon myöhempää vaihetta varten missä verrataan käyttäjän syöttämiä numeroita lottonumeroihin ja lisänumeroihin. Ja pysytyisin tulostamaan esim

        if (oikein == 6 && oikeinlisa > 0)
        System.out.println("\n\nLottorivilläsi oli: " oikein " ja lisänumero oikein");

        Jos teen yhteen taulukkoon, pystynkö tekemään homman noin, että vertaa osuiko lisänumero oikeaan? Vai ilmoittaako vain:

        System.out.println("\n\nLottorivilläsi oli: " oikein " oikein");

        Kyllä se sillä yhdelläkin onnistuu, mutta on selkeämpää koodia että teet arvonnan sillä koko 1-39 taulukolla ja sen jälkeen kopioit 7 ekaa 3 lisänumeroo omiin taulukoihinsa ja teet vertailut käyttäjän numeroista näihin.


      • waxpopopopo
        kjfkjaskadnadsdsd kirjoitti:

        Kyllä se sillä yhdelläkin onnistuu, mutta on selkeämpää koodia että teet arvonnan sillä koko 1-39 taulukolla ja sen jälkeen kopioit 7 ekaa 3 lisänumeroo omiin taulukoihinsa ja teet vertailut käyttäjän numeroista näihin.

        Voisitkohan pistää vähän näyttöä tuohan samaan alla olevaan ohjelmaan, koska en ole kovin haksi koodaamaan ja yritin kyllä tuotakin. En oikein tajua miten sen voisi toteuttaa. Ilmeisesti taulukon koko pitäisi muuttaa new int[10]; ja arvontaan jotenkin lisätä tuo LOTTOLISA for (int i = 0; i < lottorand.length && i < lottolisa.lenght; i ) { en kyllä nyt osaa.

        public class Lottonumerot {

        public static int[] lottorand;
        public static int[] lottolisa;

        public static void arvolotto() {

        lottorand = new int[7];
        lottolisa = new int[3];
        boolean sopii = true;

        for (int i = 0; i < lottorand.length; i ) {
        int uusi = 1 (int) (39 * Math.random());
        for (int j = 0; j < i; j ) {
        if (lottorand[j] == uusi) {
        sopii = false;
        i--;
        break;
        }
        }
        if (sopii) {
        lottorand[i] = uusi;
        }
        sopii = true;
        }


        System.out.print("Lottorivi: ");
        for (int j = 0; j < lottorand.length; j ) {
        System.out.print(lottorand[j] " ");
        }

        System.out.print("\nLisänumerot: ");
        for (int j = 0; j < lottolisa.length; j ){
        System.out.print(lottolisa[j] " ");
        }
        }

        public static void main(String[] args) {
        arvolotto(); }}


      • dakjsdksadjasdljasla
        waxpopopopo kirjoitti:

        Voisitkohan pistää vähän näyttöä tuohan samaan alla olevaan ohjelmaan, koska en ole kovin haksi koodaamaan ja yritin kyllä tuotakin. En oikein tajua miten sen voisi toteuttaa. Ilmeisesti taulukon koko pitäisi muuttaa new int[10]; ja arvontaan jotenkin lisätä tuo LOTTOLISA for (int i = 0; i < lottorand.length && i < lottolisa.lenght; i ) { en kyllä nyt osaa.

        public class Lottonumerot {

        public static int[] lottorand;
        public static int[] lottolisa;

        public static void arvolotto() {

        lottorand = new int[7];
        lottolisa = new int[3];
        boolean sopii = true;

        for (int i = 0; i < lottorand.length; i ) {
        int uusi = 1 (int) (39 * Math.random());
        for (int j = 0; j < i; j ) {
        if (lottorand[j] == uusi) {
        sopii = false;
        i--;
        break;
        }
        }
        if (sopii) {
        lottorand[i] = uusi;
        }
        sopii = true;
        }


        System.out.print("Lottorivi: ");
        for (int j = 0; j < lottorand.length; j ) {
        System.out.print(lottorand[j] " ");
        }

        System.out.print("\nLisänumerot: ");
        for (int j = 0; j < lottolisa.length; j ){
        System.out.print(lottolisa[j] " ");
        }
        }

        public static void main(String[] args) {
        arvolotto(); }}

        Kopiointi:
        int[] lottopallot = {1,2,../ muut numerot/..,39};

        System.arraycopy(lottopallot, 0, lottorand, 0, 7);
        System.arraycopy(lottopallot, 7, lottolisa, 0, 3);

        Kyllä vastaukset noin helppoihin pitäisi löytyä ihan kuuklaamalla....


      • waxpopopopo
        dakjsdksadjasdljasla kirjoitti:

        Kopiointi:
        int[] lottopallot = {1,2,../ muut numerot/..,39};

        System.arraycopy(lottopallot, 0, lottorand, 0, 7);
        System.arraycopy(lottopallot, 7, lottolisa, 0, 3);

        Kyllä vastaukset noin helppoihin pitäisi löytyä ihan kuuklaamalla....

        Kyllä varmaan löytyy, mutta olen tosiaan yhden kurssin käynyt ohjelmointia vasta, enkä oikeen osaa soveltaa vielä. En kyllä tajunnut esimerkkiäsi(?) tarvisin selkeämmät ohjeet, mutta ehkä niitä apuja ilmaantuu päivemmällä kun aluksi haihdun tästä nukkumaan.


      • 17+14
        waxpopopopo kirjoitti:

        Kyllä varmaan löytyy, mutta olen tosiaan yhden kurssin käynyt ohjelmointia vasta, enkä oikeen osaa soveltaa vielä. En kyllä tajunnut esimerkkiäsi(?) tarvisin selkeämmät ohjeet, mutta ehkä niitä apuja ilmaantuu päivemmällä kun aluksi haihdun tästä nukkumaan.

        "Jäsentä joka vastaisi nimimerkkiä waxpopopopo ei löytynyt"...


      • waxpopopopo
        17+14 kirjoitti:

        "Jäsentä joka vastaisi nimimerkkiä waxpopopopo ei löytynyt"...

        Johtuiskohan vaikka siitä etten ollut aktivoinut tiliäni?? Nyt niitä selkeitä vinkkejä kiitos.


      • jasdlasdkjadjlas
        waxpopopopo kirjoitti:

        Kyllä varmaan löytyy, mutta olen tosiaan yhden kurssin käynyt ohjelmointia vasta, enkä oikeen osaa soveltaa vielä. En kyllä tajunnut esimerkkiäsi(?) tarvisin selkeämmät ohjeet, mutta ehkä niitä apuja ilmaantuu päivemmällä kun aluksi haihdun tästä nukkumaan.

        Siis
        1) sekoitetaan pallot linkissä olevalla koodilla.
        2) kopioidaan arraycopy-funktiolla haluttuihin taulukoihin. (voit tietysti tehdä myös oman kopiointi koodin)
        Lisäksi jatko esim.
        3) järjestetään taulukot Javan sort-hommelilla (googlaa sort array java)
        4) etsitään osumat joukko-opin tapaan leikkauksella (googlaa intersection java array)
        5) tulostetaan arvottu rivi, lisänumerot, pelaajan rivi, monta oikein ja mah. lisänumero oikein

        Mikä on vielä epäselvää?


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nyt se syksy on sitten alkanut

      Esimerkiksi tänään sataa aamusta iltaan, ja nytkin.
      Maailman menoa
      68
      1105
    2. Minä en ole koskaan

      Rakastanut ketään toista yhtä paljon kuin sinua
      Ikävä
      98
      1064
    3. Tiesitkö? Jorma Uotisen EX-rakas on Helena Lindgren - Nämä ovat välit nyt: "Me ollaan..."

      Jorma Uotinen ja Helena Lindgren olivat avoliitossa v. 1982-1999. Pariskunta oli aikansa näyttävä julkkispari, missä i
      Kotimaiset julkkisjuorut
      23
      923
    4. Olet nainen ollut vaikein rasti

      Eniten olet tunteitani myllännyt ja niitä kuluttanut, ja tuottanut. 🤔
      Ikävä
      65
      875
    5. Anteeksi J-mies

      Anteeksi että myötävaikutin siihen että rakastuit minuun, jota et voi koskaan saada. Viimeksi kun näimme ja katselimme t
      Ikävä
      126
      850
    6. Vähän pitää

      Kiusia ja näyttää
      Ikävä
      134
      817
    7. Riittääkö mahkut

      Kaivattuusi 🤭.
      Ikävä
      57
      766
    8. Kuhmolainen opettaja tuomittu vainoamisesta

      https://yle.fi/a/74-20248184 ”Kuusikymppinen kuhmolaisnainen piinasi naapureitaan lähes kahdeksan vuoden ajan. Nainen
      Kuhmo
      20
      760
    9. Kenen viisautta on ollut laittaa tie väärällä murskeella pilalle

      Kenen viisautta on ollut kun Siimeksen/Kylmänpurontie pantu pilalle kun on ajettu liian karkeaa mursketta. Rengasliikke
      Hyrynsalmi
      27
      741
    10. Taidat olla

      Luovuttanut jo minun suhteeni osalta?
      Ikävä
      45
      676
    11. Minä muistan

      Minä muistan sinut nauravana. Sellaisena, joka sai tavallisenkin hetken tuntumaan vähän kevyemmältä, kuin huoneeseen ol
      Ikävä
      46
      661
    12. Elämäni biisi -paljastus: Tänä lauantaina 26.9. nämä julkkikset istahtavat sinisille sohville!

      Katsotko Elämäni biisiä? Elämäni biisi on monen suomalaisen suosikki. Vieraslista lauantaina 26.9. tarjoilee vieraita m
      Tv-sarjat
      6
      623
    13. Mä voisin rakastua noihin tähti silmiin

      Katseesi on niin lumoava nainen💚.
      Ikävä
      19
      617
    14. Koska Martina viettää aikaansa lapsiensa kanssa

      Äiti vaan juoksee miehen perässä Tallinnassa, Lontoossa, Turussa. Kyllä oli kätilö oikeassa, kun sanoi, että ei olisi ka
      Kotimaiset julkkisjuorut
      142
      612
    15. Ähtäri on taas TV: n ja radion ykkösuutinen

      Uusi podcast on julkaistu ja on nyt kuunneltavissa. Mot on tehnyt hyvää työtä! Mikko Savola ja kepu ei ota mitään vast
      Ähtäri
      48
      610
    16. Mitä muuta on olemassa kuin lisääntyminen

      Jos mies ei pääse lisääntymään niin mikä hänen osansa elämässä on? mitä jää jäljelle? Hän on vain muiden palvelija kok
      Sinkut
      129
      609
    17. Siinä kävi mies nyt niin että tämä ämmä muuttaa ulkomaille

      Vuonojen maa kutsuu, joten ei hätää. Et kuule minusta enää. 😂 Lycka till! Ämmä riittää.
      Ikävä
      82
      596
    18. Jos tullaan toisiamme vastaan, niin

      pitäiskö pysähtyä ja onnitella?
      Ikävä
      48
      594
    19. Voisiko vielä välillemme jotain kehittyä

      Vai heihei ja ei nähdä enää.
      Ikävä
      35
      590
    20. Pahkalassa tapahtuu

      Mitäs on tapahtunut yöllä pahkalan kerrostaloilla.oli poliisia ja ambulanssia taas vaihteeksi
      Parkano
      12
      569
    Aihe