# Lottozahlengenerator



## Humbari (8. Nov 2004)

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


----------



## Guest (8. Nov 2004)

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 (8. Nov 2004)

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 (8. Nov 2004)

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.


----------



## Student (8. Nov 2004)

Anonymous hat gesagt.:
			
		

> PS :
> ich brauche das komplette programm.
> das ich einfach nur starten muss.


ach so läuft das in dem forum hier .. coooool.



			
				Anonymous hat gesagt.:
			
		

> das will ich dann in seine einzelteile zerlegen, und schauen was ich falsch gemacht habe...


klar. genauso wird es geschehen.

SCNR ^^


----------



## Gast (8. Nov 2004)

nun schreibts ihm halt das Programm *g..

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


----------



## Humbari (8. Nov 2004)

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


----------



## Student (8. Nov 2004)

L-ectron-X hat gesagt.:
			
		

> 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.



was ist an dieser antwort bitte unzureichend?


----------



## Humbari (9. Nov 2004)

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.


----------



## Humbari (9. Nov 2004)

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



```
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 !_


----------



## Guest (9. Nov 2004)

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 




```
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 !!_


----------



## Humbari (9. Nov 2004)

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 (9. Nov 2004)

Bei

```
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:


----------



## bygones (9. Nov 2004)

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... *S*ystem 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


----------



## Humbari (9. Nov 2004)

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 ??



```
/*
 * 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 !!_


----------



## bygones (9. Nov 2004)

äh - wie ?
was soll drunter stehen ?

```
1 12 20 34 ....
made by Humbari
```
oder wie?


----------



## SebiB90 (9. Nov 2004)

wie wärs so

```
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]


----------



## Guest (9. Nov 2004)

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



```
/*
 * 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 (9. Nov 2004)

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;


----------



## bygones (9. Nov 2004)

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...
> ...


Und wenn du dann immer brav die Code Tags benutzt freuen wir uns auch tierisch !!!

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


----------



## Humbari (9. Nov 2004)

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 (9. Nov 2004)

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


----------



## Humbari (9. Nov 2004)

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...


----------



## bygones (9. Nov 2004)

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


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 (9. Nov 2004)

Die entscheidene Codestelle mal ausgeschnitten:

```
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 (9. Nov 2004)

deathbyaclown hat gesagt.:
			
		

> SebiB90 hat gesagt.:
> 
> 
> 
> ...


----------



## bummerland (9. Nov 2004)

bei deiner lösung kann eine zahl aber auch mehrmals vorkommen.  :bae:


----------



## Humbari (9. Nov 2004)

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...


----------



## Humbari (10. Nov 2004)

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.






```
/*
* 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 (10. Nov 2004)

```
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!).


----------



## Student (10. Nov 2004)

jetzt hat er ja gar nix mehr zu rumtesten und selbst machen ;-)


----------



## Humbari (10. Nov 2004)

ha, aber wo soll ich das jetzt genau rein setzten ???


----------



## Student (10. Nov 2004)

in die main-methode?


----------

