Ketscher Geschrieben 16. Januar 2007 Geschrieben 16. Januar 2007 Also ich hab nur noch folgendes Problem! Wie vergleiche ich die Zahlen miteinander! Ich hab schon einen Array erstellt und ja......weiter komm ich net!! //GFS TottoLotto //09.01.2007 import java.io.*; import java.util.*; public class TottoLotto { public static void main (String argv []) throws IOException { Random r = new Random (); //Dimensionierung int zaehler1, zaehler2, tippanzahl; int lottotipp [] []; int lottozahl []; int zaehler3; int treffer []; String str; BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in)); //Anlegen des mehrdimensionalen Arrays mit bestimmter Größe System.out.print("Herzlich Willkommen beim Online-Lotto!"); System.out.print(""); System.out.print("Bitte geben Sie die Anzahl der Spieler an die einen Tipp abgeben moechten: "); str = eingabe.readLine(); tippanzahl = Integer.parseInt(str); treffer = new int [tippanzahl]; lottozahl = new int [6]; lottotipp = new int [tippanzahl] [6]; zaehler3 = 0; for (zaehler1 = 1; zaehler1 <= tippanzahl; zaehler1++) { System.out.println("Eingabe des "+zaehler1+" .ten Tipps!: "); System.out.println(" "); for (zaehler2 = 1; zaehler2 <= 6; zaehler2++) { System.out.print("Bitte geben Sie die " +(zaehler2)+ ".te Lottozahl ein! "); str = eingabe.readLine(); lottotipp [zaehler1-1] [zaehler2-1] = Integer.parseInt(str); System.out.println(" "); } } for (zaehler1 = 1;zaehler1 <= tippanzahl;zaehler1++) { System.out.print(" "); for (zaehler2 = 1;zaehler2 <= 6;zaehler2++) { System.out.print(""); System.out.print(lottotipp[zaehler1-1] [zaehler2-1]+ " "); System.out.print(" "); } } System.out.print("Die Lottozahlen der heutigen Ziehung lauten: "); while (zaehler3 < 6) { lottozahl[zaehler3] = 1 + Math.abs(r.nextInt()) % 49; System.out.print(" "+lottozahl[zaehler3]); zaehler3++; } for(int i = 0; i < lottozahl.length; i++) } } Bitte tags benutzen! Zitieren
kingofbrain Geschrieben 16. Januar 2007 Geschrieben 16. Januar 2007 Servus, Deinen Code lese ich ohne Code-Tags nicht. Ich kann mir aber denken, das Du Zahlwerte aus einem Array miteinander vergleichen willst: 1. Primitives: array[x] == array[y] 2. Objekte: array[x].equals(array[y]) oder array[x].compareTo(array[y]) Als Tipp: Gib nur den Code an, den man braucht, um den Fehler zu verstehen und formatier den richtig. Peter Zitieren
Ketscher Geschrieben 17. Januar 2007 Autor Geschrieben 17. Januar 2007 Also ich habe 2 Arrays einen "einfachen",der die erstellten Zufallszahlen speichert und einen 2 dimensionalen der meinen Lottotipp(s) abspeichert! Ok ich denk mal ich brauch dazu 3 for Schleifen damit der einzeln durch die Arrays "hüpft" und die zahlen vergleicht....wie jedoch ruf ich so einen Array in der Zählerschleife auf das er die zahlen durchgeht? Und dann benötige ich doch noch einen Array der mir dann die Treffer bzw die Richtigen speichert oder? for(int i = 0; i < lottozahl.length(); i++) for (int j = 0; j < lottotipp.length(); j++) for (int k = 0; k < lottotipp.length(); k++) soweit bin ich jedoch stimmt da was net ich muss ja genau zuweisen welchen array bzw welchen array index er durchlaufen muss! HELP! :eek :eek :eek :eek :eek Zitieren
geloescht_Newlukai Geschrieben 18. Januar 2007 Geschrieben 18. Januar 2007 Generell läuft das so: int[] zahlen = new int[10]; for(int i = 0; i < zahlen.length; i++) { System.out.println(zahlen[i]); } Wie Du siehst, kannst Du mit der Zählvariablen jeden Eintrag im Array ansprechen, da die Zählvariable ja von 0 bis zum Limit durchgezählt wird. Genauso gilt das auch für Deine 3 Schleifen. Nur ergibt es keinen Sinn 3mal das gleiche Array zu durchlaufen. Zitieren
kingofbrain Geschrieben 18. Januar 2007 Geschrieben 18. Januar 2007 Servus, warum willst Du denn ein zweidimensionales Array nehmen? Sind doch bloss 49 Felder in Reihe, die "an" oder "aus" sein können, oder? Hier mal ein kleiner Gedanke zum Thema: boolean[] tipp = new boolean[]{false, false, true, false, false, true, true, ...}; // hier stehen die Tipps. true ist angekreuzt int[] ziehungsErgebnis = new int[]{1, 3, 4, 8, 13, 35}; // das sind die gezogenen Zahlen for(int i = 0; i < ziehungsErgebnis.length; i++) { // wir prüfen, welche Zahlen aus dem Ziehungsergebnisarray getippt wurden if(tipp[ziehungsErgebnis[i] - 1]) { // Spieler hat das Ergebnis getippt, mach was Du willst mit der Information. } } [/code] Ist natürlich jetzt bloß schnell hingetippt, aber so sollte es prinzipiell funktionieren. Peter Zitieren
geloescht_Newlukai Geschrieben 18. Januar 2007 Geschrieben 18. Januar 2007 2-dimensional weil's mehrere Tippreihen sind. Zitieren
kingofbrain Geschrieben 21. Januar 2007 Geschrieben 21. Januar 2007 Servus, was heißt Tippreihen? Du hast mehrere ausgefüllte Spielfelder? Ist das eine Tippreihe? Dann würde ich diese Tippreihen nacheinander abarbeiten. Meinst Du allerdings die Reihen in einem Lottspielfeld (1-6, 7-12, ... o. ä.), dann sind die ja egal, die Zweidimensionalität ist ja nur fürs Auge, inhaltlich aber egal. Peter Zitieren
geloescht_Newlukai Geschrieben 21. Januar 2007 Geschrieben 21. Januar 2007 Das die 2-Dimensionalität bei der Aufteilung 1-6, 7-12 aus technischer Sicht absolut unnötig ist, ist mir auch klar. Ketscher läßt den Benutzer in seinem Code Tipps mehrerer Spieler eingeben. Das meinte ich mit Tippreihen. Jeder Spieler gibt seinen persönlichen 6aus49-Tipp ein. Ich spreche da aber lieber von Tippreihen, denn Du kannst ja auf einem Tippschein mehrere Tipps abgeben. Mit einem 2-dimensionalen 6xn-Array (oder nx6, ist aber auch wurscht) kannst Du dann die Tipps sichern. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.