Lottozahlengenerator

Status
Nicht offen für weitere Antworten.
H

Humbari

Gast
Hi leute.
sorry, das ich störe aber ich brauche ein programm, das mir 6 zufällige zahlen auswirft...
ich möchte jetzt auch mit dem programmieren in java anfangen, und hab mir von jemandem ne leichte aufgabe geben lassen...
naja, weniger eine aufgabe.
er hat halt nur gesagt, das man mit nem klienen plumpen Lottozahlengenerator anfangen könnte.
ich hab es versucht, aber es tretten doch noch ein paar fehler auf...
wie gesagt, java ist für mich vollkommenes neuland...
kann mir jemand mal sagen, wo ich einen einfachen Lottozahlengenerator herbekomme ??
ich möchte dann mal versuchen die programmierung vergleichen.

im vorraus danke.

Humbari
 
G

Guest

Gast
PS :
ich brauche das komplette programm.
das ich einfach nur starten muss.
das will ich dann in seine einzelteile zerlegen, und schauen was ich falsch gemacht habe...
 

Sky

Top Contributor
Zeig doch mal bitte deinen Quellcode und sage, wo bei Dir Fehler auftreten.

Geholfen wird Dir hier sehr gerne. Deine Aufgaben machen wir aber nicht!
 

L-ectron-X

Gesperrter Benutzer
Schaue Dir diesen Thread mal genauer an, dort haben wir mal das Thema besprochen.
http://www.java-forum.org/de/viewtopic.php?t=10037
Ich habe dort mal eine einfache Version in Form eines Applets gepostet. Das kannst Du von mir aus auseinander nehmen.
Sollte dies aber nur eine Hausaufgabe sein, so möchte ich Dich warnen. Es nutzt Dir nichts, wenn Du den Code nicht verstanden hast. Denn dann bist Du nicht einen Schritt weiter gekommen.
 
G

Gast

Gast
nun schreibts ihm halt das Programm *g..

wenn er mit einer Kombination im Lotto gewinnt.. muss er 99% abgeben *g
 
H

Humbari

Gast
schön das man hier so ernst genommen wird...
ich bedanke mich bei allen, für die hilfe.
ich suhc mir ein anderes foum...
 
H

Humbari

Gast
jo, das mag sich ja schon ganz interessant anhören, aber ich habe keine lust hier in diesem forum nach hinweisen zu suchen. weil mir hier ja unterstellt wird, das ich ja nur das fertige programm haben will.
und das mag ich nicht.
 
H

Humbari

Gast
naja, egal. hie rhab ich nen neune entwurf von mir...


Code:
public static void main (strings args)

	int x=0
        for(int i=0; i<6; i++)
            
            x= (math.rnd()*49)+1;
            system.out.println (x);
            system.out.println(" ");


der compiler zeig mir 3 fehler...
was ist flasch ??

edit deathbyaclown: code tags !
 
G

Guest

Gast
okay, ich hab noch bisschen gebastelt...

ich hab jetzt nur noch einen fehler...
aber das versteh ich nicht...
och mano !! ich hab zu wenig ahnug von dem ganzen...
mein jetztiger code, lautet



Code:
public class Main{
  public static void main( String[] args ){

	int x=0
        
        for(int i=0; i<6; i++)
            
            x= (math.random()*49)+1;
            system.out.println (x);
            system.out.println(" ");}
}



aber was nun ??
was ist daran bitte noch falsch ???

edit deathbyaclown: code tags !!
 
H

Humbari

Gast
ach ja, eins solltet ihr noch wissen...

mein confiler zeigt nur an, das nur ein " ; " fehlt, aber ich weiß nicht wo...
mano!!!!!
 

L-ectron-X

Gesperrter Benutzer
Bei
Code:
int x = 0
vielleicht? Oder die öffnende geschweifte Klammer Deiner for-Schleife?

Also mehr als einen Link auf den Quellcode für ein fertiges Programm kann ich Dir wirklich nicht anbieten. Sonst müsste ich ständig alles doppelt und dreifach schreiben und das ist nun mal nicht im Sinne dieses Forums.
Wenn es Dir schon Mühe macht, den passenden Post im angegebenen Thread zu suchen, kann Dir hier niemand mehr helfen. :roll:
 
B

bygones

Gast
Humbari hat gesagt.:
jo, das mag sich ja schon ganz interessant anhören, aber ich habe keine lust hier in diesem forum nach hinweisen zu suchen. weil mir hier ja unterstellt wird, das ich ja nur das fertige programm haben will.
und das mag ich nicht.
mhm ???:L wie kommen wir nur drauf....
Humbari hat gesagt.:
PS :
ich brauche das komplette programm.
das ich einfach nur starten muss.
das will ich dann in seine einzelteile zerlegen, und schauen was ich falsch gemacht habe...
Humbari hat gesagt.:
der compiler zeig mir 3 fehler...
der java compiler zeigt nicht einfach 3 fehler an... er sagt dir wo sie sind und was das Problem ist....
bei dir fehlt ein ";" (nach jeder anweisung muss eins stehen" - Klassen werden mit Großbuchstaben angfangen... System z.b.... blöcke müssen mit { .. } eingeschlossen werden (die for schleife)

sorry, aber wenn du wirklich was lernen willst und es hier nicht häppchenweise hingeworfen bekommen willst schaust du in ein paar büchern nach. Das sind Sachen die meist auf den ersten Seiten erklärt werden
 
H

Humbari

Gast
okay, ich habs raus...
hab die ganze nacht dran rumgebastelt...
auch wenn es am anfang ziehmlich nervig war, war trotzdem total cool...

hier habt ihr meinen fertigen entwurf...
hat aber noch nen kleinen bug.
ich will das unter den 6 zahlen steht, das es von mir gemacht wurde, aber ich habs bis jetzt nur raus, das es unter jeder zahl steht...
habt ihr da noch nen rat für mich ??


Code:
/*
 * Lotto.java
 *
 * Created on 9. November 2004, 05:09
 */

/**
 *
 * @author  Esel
 */
public class Lotto {
    
    /** Creates a new instance of Lotto */
    public Lotto() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         
        int x=0;

    for(int i=0; i<6; i++)
    {
        x= (int)(Math.random()*49)+1;
        System.out.println(x);
        System.out.println(" ");
        {System.out.println("Test");}
    }           
}
}
edit deathbyaclown: Code Tags !!
 
B

bygones

Gast
äh - wie ?
was soll drunter stehen ?
Code:
1 12 20 34 ....
made by Humbari
oder wie?
 

SebiB90

Top Contributor
wie wärs so
Code:
public static void main(String[] args) { 
          
        int x=0; 

    for(int i=0; i<6; i++) 
    { 
        x= (int)(Math.random()*49)+1; 
        System.out.print(x); 
        System.out.print(" "); 
    }            
    System.out.println("Made by blabla");
}
[/code]
 
G

Guest

Gast
nein, sagt nichts...
ich hab die lösung schon... *stolz sei*


Code:
/*
 * Lotto.java
 *
 * Created on 9. November 2004, 05:09
 */

/**
 *
 * @author  Esel
 */
public class Lotto {
    
    /** Creates a new instance of Lotto */
    public Lotto() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         
        int x=0;

    for(int i=0; i<6; i++)
    {
        x= (int)(Math.random()*49)+1;
        System.out.println(x);
        System.out.println(" ");
        
    }
        {System.out.println("created by Pierre");}
}
}


so das war jetzt mein erstes programm das ich geschrieben habe...
ohne java-habdbuch...
nur mit dem programm und hilfestellungen aus diesem forum...
ich denke mal, wer sein erstes programm an einem tag schriebt, der hat doch schon was geleistet...
ich bin voll stolz.... *freu*

danke für die hilfe leute.

Euer Pierre *knutsch*
 

SebiB90

Top Contributor
ich will dich jetzt nicht dein stolz zerstören aber da is ein logischer fehler drin
Lottozahlen sind von 1 bis 49 aber bei dir kann auch 50 rauskommen
wenn math.random() gleich 1 ist dann kommt das hier raus
x= (int)(Math.random()*49)+1;
x= (int)(1*49)+1;
x= (int)49+1;
x= (int)50;
x=50;
 
B

bygones

Gast
Anonymous hat gesagt.:
so das war jetzt mein erstes programm das ich geschrieben habe...
ohne java-habdbuch...
nur mit dem programm und hilfestellungen aus diesem forum...
ich denke mal, wer sein erstes programm an einem tag schriebt, der hat doch schon was geleistet...
ich bin voll stolz.... *freu*

danke für die hilfe leute.
Und wenn du dann immer brav die Code Tags benutzt freuen wir uns auch tierisch !!!

Aber ernsthaft: GRATULATION :applaus: :applaus: :applaus:
 
H

Humbari

Gast
ja, aber das liegt daran, dasich in meinem programm bei 0 anfange und nicht bei 1....
von daher...
alles richtig...
an dem programm kratzt keiner mehr...
 

SebiB90

Top Contributor
nein nicht richtig
soweit ich weiß gibt math.random() eine zahl zwischen 0 und 1 aus also auch 1 und dann kann auch 50 raus kommen.(siehe meine rechnung) deshalb mal 48 und nicht mal 49

wenn du vorher keine erfahrung mit programmsprachen hattest ist das schon gut für den anfang :D
 
H

Humbari

Gast
hm... wenn du sofest davon überzeugt bist, dann muss ich mal nachelsen, wie das mit der rechung aussieht...
mal sehen....
ich muss mir ja erst mal ein java-buch zu legen...
 
B

bygones

Gast
SebiB90 hat gesagt.:
nein nicht richtig
soweit ich weiß gibt math.random() eine zahl zwischen 0 und 1 aus also auch 1 und dann kann auch 50 raus kommen.(siehe meine rechnung) deshalb mal 48 und nicht mal 49

wenn du vorher keine erfahrung mit programmsprachen hattest ist das schon gut für den anfang :D
noch Chat Konferenz und API hilfe haben wir beschlossen, dass du leider unrecht hast :wink:
Aus Api: Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0...
somit wird 1 nie erreicht und das mit * stimmt schon !
 

L-ectron-X

Gesperrter Benutzer
Die entscheidene Codestelle mal ausgeschnitten:
Code:
    while(aktuellerTipp < zahlen.length) { 
      int gezogeneZahl = (int)(Math.random() * 100); 
      
      //Kontrolle ob Zahl in gesuchten Wertebereich passt
      if(gezogeneZahl < 1 || gezogeneZahl > 49) 
        continue; 
      else { 
         zahlen[aktuellerTipp] = gezogeneZahl; 
          
        //Duplikatprüfung
        for(int i = 0; i < aktuellerTipp; i++) { 
          if(zahlen[i] == gezogeneZahl) { 
               aktuellerTipp--; 
          } 
        } 
      } 
      aktuellerTipp++; 
    }
 

SebiB90

Top Contributor
deathbyaclown hat gesagt.:
SebiB90 hat gesagt.:
nein nicht richtig
soweit ich weiß gibt math.random() eine zahl zwischen 0 und 1 aus also auch 1 und dann kann auch 50 raus kommen.(siehe meine rechnung) deshalb mal 48 und nicht mal 49

wenn du vorher keine erfahrung mit programmsprachen hattest ist das schon gut für den anfang :D
noch Chat Konferenz und API hilfe haben wir beschlossen, dass du leider unrecht hast :wink:
Aus Api: Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0...
somit wird 1 nie erreicht und das mit * stimmt schon !
:oops: :oops: :oops:
 
H

Humbari

Gast
mist, hat das also doch jemand gemerkt. *g*
jo ich bin halt noch ganz am anfang von java ich weiß selbst, da zahlen mehrmahls vorkommen, das ist aber sogut wie unmöglisch...
in einem fall von 1000 kommen mal 2 gleichen zahlen...
aber ich weiß, von diesem kleinen bug...
nur ich dachte mir, das beheb ich dann mal, wenn ich mehr erfahrung hab...
 
H

Humbari

Gast
hey leute, ich bin nochmal...
also, mein freund, war mit meiner aufgabe sehr zufrieden...
jetzt will er, genau das was vohin schon angesprochen wurde...
er will, das ich es ausschließe, das 2 zaheln, zweimal auftauchen können...

also muss ich das programm bisschen verbessern...
nur ich habe keine ahnung wie...
den einzigen tipp, den mir mien freund gab, das die lösung in sogenannten "Arrays oder Felder"
aber ich habe keine ahung, was das ist...
kann mir da jemand helfen ??
ihr kennt den code ja. abe rich kopiere ihn hier noch mal rein.





Code:
/*
* Lotto.java
*
* Created on 9. November 2004, 05:09
*/

/**
*
* @author  Esel
*/
public class Lotto {
   
    /** Creates a new instance of Lotto */
    public Lotto() {
    }
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         
        int x=0;

    for(int i=0; i<6; i++)
    {
        x= (int)(Math.random()*49)+1;
        System.out.println(x);
        System.out.println(" ");
       
    }
        {System.out.println("created by Pierre");}
}
}


das ist die fertige formel.
aber wo muss ich denn da jetzt ein Array reinsetzten ???
ich hab schon auf der seite "java ist auch eine Insel" nachgeschaut.
aber die texte da, verwirren mich etwas...
könnt ihr mir helfen ???

Liebe
Grüße

Humbari
 

bummerland

Top Contributor
Code:
int[] zahlen = new int[6];
int x = 0;

for (int i=0; i<zahlen.length; i++){
    do{
        x= (int)(Math.random()*49)+1;
        boolean drin = false;
        for (int j=0; j<zahlen.length;j++){
            if (zahlen[j] == x){
                drin = true;
                break;
            }
        }
    } while(drin);
    zahlen[i] = x;
}

sollte so gehen (nicht getestet!).
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben