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

1578

    Vastaukset

    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. Mitään järkeä?

      Että ollaan erillään? Kummankin pää on kovilla.
      Ikävä
      120
      1747
    2. Noniin rakas

      Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi
      Ikävä
      99
      1568
    3. Lasten hyväksikäyttö netissä - Joka 3. nuori on saanut seksuaalisen yhteydenoton pedofiililtä

      Järkyttävää! Lapsiin kohdistuva seksuaalinen hyväksikäyttö verkossa on yhä pahempi ongelma. Ulkolinja: Lasten hyväksikäy
      Maailman menoa
      45
      1081
    4. Kumpi vetoaa enemmän sinuun

      Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?
      Ikävä
      41
      932
    5. Multa sulle

      Pyörit 24/7 mielessä, kuljet mun mukana, mielessä kyselen sun mielipiteitä, vitsailen sulle, olen sydän auki, aitona. M
      Ikävä
      29
      919
    6. Nainen, olen tutkinut sinua paljon

      Salaisuutesi ei ole minulle salaisuus. Ehkä teimme jonkinlaista vaihtokauppaa kun tutkisimme toisiamme. Meillä oli kumm
      Ikävä
      50
      846
    7. Mies, eihän sulla ole vaimoa tai naisystävää?

      Minusta tuntuu jotenkin, että olisit eronnut joskus, vaikka en edes tiedä onko se totta. Jos oletkin oikeasti edelleen s
      Ikävä
      44
      802
    8. Olet myös vähän ärsyttävä

      Tuntuu, että olet tahallaan nuin vaikeasti tavoiteltava. En tiedä kauanko jaksan tätä näin.
      Ikävä
      37
      780
    9. Okei nyt mä ymmärrän

      Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘
      Ikävä
      56
      768
    10. Onko sulla empatiakykyä?

      Etkö tajua yhtään miltä tämä tuntuu minusta? Minä ainakin yritän ymmärtää miltä sinusta voisi tuntua. En usko, että olet
      Ikävä
      37
      760
    Aihe