Lottoziehung

Status
Nicht offen für weitere Antworten.

Svenja

Mitglied
Also ich hab jetzt angefangen ein Programm zu schreiben dass eine Lottozeihung also 6 aus 49 simuliert, wobei ich die das Programm mit java Lotto 1 2 3 4 5 6
aufrufen soll!

Allerdings soll ich das ganze mit arrays (???????) schreiben.
und da hab ich leider keine Ahnung wie das gehen soll.
Bis jetzt bin ich noch dabei diese Fehlerprüfung zu schreiben, kann mir bitte jemand helfen!
Code:
public class Lotto {
	public static void main (String[]args){
		int [] a = new int [6];
		if (args.length != 6){
			System.out.println("Fehler: Bitte geben sie genau 6 Lottozahlen ein!");
			return;
		}
			for (int i=0; i < a.length; i++){
				int a[i];
			for (int j=0; j<i; j++);
			a[i]= a[j];
			System.out.println("Fehler: Bitte geben sich genau 6 unterschiedliche Zahlen ein!");
		}
	}
}

Und zwar weiß ich nicht, was ich das bei der Überpfüfung von doppelten Zahlen hinschreiben soll!!!
 

Der Müde Joe

Top Contributor
Kontrolle der Doppelten:

nehme erste (int temp = args)
überprüfe alle folgenden auf gleichheit ( if ( temp == args[j])

nimm zweite
überprüfe alle folgenden auf gleichheit

etc
 

Svenja

Mitglied
und warum hab ich dann sowas mit for ( int i = 0; i <a .....

was soll das dann??

und wie greife ich auf den zweiten zu??
 

Der Müde Joe

Top Contributor
Code:
    public static boolean hasDoubles(int[] array){
        int temp;
        for(int i = 0 ; i < array.length; i++){
            //nehme zahl
            temp = array[i];
            //kontrlle mit allen folgende
            for(int j = i+1 ; j < array.length; j++){
                //gibts nen gleichen
                if(temp == array[j]){
                    return true;
                }
            }
        }  
        return false;
    }
 

Svenja

Mitglied
ahaaaaaa....

nochmal eine allgemeine Frage was bedeutet das i++ oder j++??

So jetzt möchte ich gerne noch das dann eine Fehler meldung kommt, also muss ich ja System.out.println ("Fehler!!") irgendwo einfügen. wo mach ich das dann?

achso und was bedeutet es wenn in meiner Aufgabe steht: Transferieren Sie dazu die Programmargumente in ein Integer-Array tipp.????????
 
G

Guest

Gast
Svenja hat gesagt.:
Transferieren Sie dazu die Programmargumente in ein Integer-Array tipp.????????

du musst aus deinen Argumenten, die Strings sind, int werte machen.

Code:
for(int i = 0; i < 6; i++){
    a[i] = Integer.parseInt(args[i]);
}


i++ bedeutet, das der wert i erhöt wird, ist das selbe wie i = i+1

den code, den Müde Joe geschrieben hat, stellt eine funktion dar, die du verwenden kannst

Code:
...
 int [] a = new int [6]; 
if (args.length != 6){ 
         System.out.println("Fehler: Bitte geben sie genau 6 Lottozahlen ein!"); 
         return; 
}

for(int i = 0; i < 6; i++){
    a[i] = Integer.parseInt(args[i]);
}

if(hasDoubles(a)){
    System.out.println ("Fehler: keine doppelten Zahlen");
    return;
}    
...

so ungefähr...
boolean hasDoubles(int[] array), gibt dir entweder true oder false zurück, welches du dann mit if auswerten kannst.

ich würd dir empfehlen noch ein paar grundlagen zu lesen zb kapitel 2, http://www.galileocomputing.de/openbook/javainsel6/[/code]
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben