java anfänger braucht hilfe

koffi

Lt. Junior Grade
Registriert
Jan. 2007
Beiträge
493
hallo!

habe informatik in der schule und für morgen muss ich folgendes java programm gut verstehen. es erzeugt 6 zufällige lottozahlen und sorgt auch dafür dass nicht 2 auf einmal vorkommen. aber ich glaub ich hab noch probleme das array-zeug zu verstehen.
so sieht das programm aus: (alles was orange ist habe ich jetzt einfach mal so reingeschrieben um zu zeigen was ich nicht verstehe)

public class lotto{

public static void main(String[] args){

int i;
int zaehler;
int reihe;

//Feldvariable array
//Variablentyp [] name 0 new Variablentyp[6];

int [] feld = new int[6]; Hier werden also 6 variablen erzeugt



//zehn Lottoreihen werden erzeugt

feld[0] = (int) (Math.random()*49)+1; hier gibt man dem feld 0 aus der variablenreihe einen zufälligen wert von 1-49


//ein Tipp wird erzeugt
for(zaehler=0;zaehler<6;zaehler++){ damit sorgt man dass das folgende genau 6 mal durchgeführt wird




feld[zaehler] = (int) (Math.random()*49)+1; das verstehe ich nicht. feld[zaheler] was solld as sein? hat das noch was mit dem array zu tun? warum haben wir dann vorhin dem feld 0 nen zufälligen wert gegeben wenn wir es hier wieder tun?

//Dublikattest

for(i=0;i<zaehler;i++){ von hier...


while(feld[zaehler]==feld){
feld[zaehler] = (int) (Math.random()*49)+1;
//Bei Übereinstimmung startet der vergleich
//von vorne
i=0; ...bis hier ist mir klar was er macht, aber nicht wie.. :(
}

}
}

//Ausgabe der Lottozahlen

for(i=0;i<6;i++){
System.out.print(feld+" "); und hier werden die 6 zahlen ausgegeben aber auch das ist mir nich ganz klar weil ich das mit den arrays nich so check...
}}}


bitte helft mir schnell, und auch so dass ein anfänger wie ich es verstehe. wär wichtig :) danke leute
 
Code:
//ein Tipp wird erzeugt
for(zaehler=0;zaehler<6;zaehler++){
feld[zaehler] = (int) (Math.random()*49)+1;

das verstehe ich nicht. feld[zaheler] was solld as sein? hat das noch was mit dem array zu tun? warum haben wir dann vorhin dem feld 0 nen zufälligen wert gegeben wenn wir es hier wieder tun?
Warum das auf feld 0 eintragen wird frage ich mich auch. Vielleicht einfach mit copy&paste gearbeitet und dabei vergessen es wieder zu entfernen?

'feld' = dein Array.
zaehler (vielleicht vertippt?) ist die Positionsangabe für dein Array.
 
int [] feld = new int[6]; Hier werden also 6 variablen erzeugt
es wird _ein_ array erzeugt das 6 int-Werte aufnimmt.

feld[0] = (int) (Math.random()*49)+1; hier gibt man dem feld 0 aus der variablenreihe einen zufälligen wert von 1-49
genau

for(zaehler=0;zaehler<6;zaehler++){ damit sorgt man dass das folgende genau 6 mal durchgeführt wird
jo. einfache for schleife

feld[zaehler] = (int) (Math.random()*49)+1; das verstehe ich nicht. feld[zaheler] was solld as sein? hat das noch was mit dem array zu tun? warum haben wir dann vorhin dem feld 0 nen zufälligen wert gegeben wenn wir es hier wieder tun?
den zaehler hast du in der for-schleife drin. das wird einfach hochgezählt von 0 - 5 und an diese stelle wird dann auch das array gefüllt. einfach mal drüber nachdenken, ist ganz easy. und deine vermutung ist richtig, feld[0] wird wieder überschrieben, ist oben als unnötig.

for(i=0;i<6;i++){
System.out.print(feld+" "); und hier werden die 6 zahlen ausgegeben aber auch das ist mir nich ganz klar weil ich das mit den arrays nich so check...
}}}

gleiche wie oben. i wird hochgezählt und so dadurch werden alle zahlen ausm array ausgegeben.

PS: normal wird die variable einer forschleife (bei dir i und zaehler) direkt in der schleife definiert und nicht oben wie bei deinem programm. das ist unschön :P
 
vielen vielen dank!
tatsächlich, mit eurer hilfe und ein bisschen nachdenken leuchtet alles ein :)
 
Endlich mal jemand, der Rückmeldung gibt :).
Freut mich, dass wir Dir helfen konnten. Bei java Fragen hilft auch immer das Buch Java ist eine Insel - gibts kosten zum lesen als pdf und im Web.
 
Zurück
Oben