Hallo,
hier kommt ein etwas längerer Code. Ich weiß einfach nicht, wie ich das mit der Parameterübergabe machen soll. Die beiden in der main-Methode angegebenen Parameter werden von der ermittleLosnummer Methode benötigt. So wie ich es gemacht habe, funktioniert es nicht. Wie könnte es sonst klappen?
Vielen Dank 🙂
hier kommt ein etwas längerer Code. Ich weiß einfach nicht, wie ich das mit der Parameterübergabe machen soll. Die beiden in der main-Methode angegebenen Parameter werden von der ermittleLosnummer Methode benötigt. So wie ich es gemacht habe, funktioniert es nicht. Wie könnte es sonst klappen?
Java:
import java.util.Scanner;
public class Lotto {
public static void main(String[] args, int superZahl, int[] lottoZahlen) {
Scanner s = new Scanner(System.in);
System.out.println("Geben Sie bitte Ihre Tipps ein: ");
int[] tipps = new int[7];
for(int j = 0; j<tipps.length; j++) {
System.out.print("Tipp "+(j+1)+" :");
tipps[j] = s.nextInt();
boolean pruefWert = istDoppelt(tipps, j);
if(pruefWert == true) {
System.out.println("Es dürfen keine Doppelgänger vorkommen. Bitte erneut eingeben.");
j = j-1;
}
if(tipps[j]<=0 || tipps[j]>49) {
System.out.println("Bitte noch einmal eingeben. Der Tipp war ungültig: ");
j = j-1;
}
}
superZahl();
int uebersicht = gibTippuebersichtAus(tipps);
minMaxWerte(tipps);
ermittleLosnummer(tipps, superZahl, lottoZahlen);
zieheLottozahlen();
}
public static int superZahl() {
Scanner s = new Scanner(System.in);
System.out.println("Gib deine Superzahl ein: ");
int superZahl = s.nextInt();
return superZahl;
}
public static boolean istDoppelt(int[] tipps, int durchlaeufe) {
boolean pruefWert = false;
for(int i = 0; i<durchlaeufe; i++) {
if(tipps[i] == tipps[durchlaeufe]) {
pruefWert = true;
}
}
return pruefWert;
}
public static int[] ermittleLosnummer(int[] tipps, int superZahl, int[] lottoZahlen) {
int[] losnummer = new int[7];
for(int i = 0; i<losnummer.length; i++) {
losnummer[i] = ermittleZufallszahl(0,9);
}
gibLottoZahlenAus(lottoZahlen);
superZahl();
ermittleTippergebnis(losnummer,tipps, superZahl, lottoZahlen);
return losnummer;
}
public static int ermittleZufallszahl(int low, int high){
int zufallszahl = (int) (Math.random() * (high - low + 1)) + low;
return zufallszahl;
}
public static int gibTippuebersichtAus(int[] tipps) {
int uebersicht = 0;
System.out.print("Das sind deine Tipps: ");
for(int k = 0; k<tipps.length; k++) {
System.out.print(tipps[k]+ " ");
}
return uebersicht;
}
public static void minMaxWerte(int[] tipps) {
//leer
}
public static int[] zieheLottozahlen() {
int[] lottoZahlen = new int[7];
for(int i = 0; i<lottoZahlen.length; i++) {
if(i< lottoZahlen.length-1) {
lottoZahlen[i] = ermittleZufallszahl(1,49);
}else {
lottoZahlen[i] = ermittleZufallszahl(0,9);
}
}
gibLottoZahlenAus(lottoZahlen);
return lottoZahlen;
}
public static void gibLottoZahlenAus(int[] lottoZahlen) {
System.out.println("\nDie Lottozahlen sind: ");
for(int i = 0; i<(lottoZahlen.length-1); i++) {
if(i == 0) {
System.out.print(lottoZahlen[i]);
}else {
System.out.print(" "+ lottoZahlen[i]);
}
}
System.out.println();System.out.println("Superzahl: "+lottoZahlen[lottoZahlen.length-1]);
}
public static int ermittleTippergebnis(int[] losnummer, int[] tipps, int superZahl, int[] lottoZahlen) {
int gewinnklasse = 0;
if(losnummer[6]==tipps[6]&&superZahl==ermittleZufallszahl(0,9)) {
gewinnklasse = 1;
}else if(losnummer[6]==tipps[6]&&superZahl!=ermittleZufallszahl(0,9)) {
gewinnklasse = 2;
}else if(losnummer[5]==tipps[5]&&superZahl==ermittleZufallszahl(0,9)) {
gewinnklasse = 3;
}else if(losnummer[5]==tipps[5]&&superZahl!=ermittleZufallszahl(0,9)) {
gewinnklasse = 4;
}else if(losnummer[4]==tipps[4]&&superZahl==ermittleZufallszahl(0,9)) {
gewinnklasse = 5;
}else if(losnummer[4]==tipps[4]&&superZahl!=ermittleZufallszahl(0,9)) {
gewinnklasse = 6;
}else if(losnummer[3]==tipps[3]&&superZahl==ermittleZufallszahl(0,9)) {
gewinnklasse = 7;
}else if(losnummer[3]==tipps[3]&&superZahl!=ermittleZufallszahl(0,9)) {
gewinnklasse = 8;
}else if(losnummer[2]==tipps[2]&&superZahl==ermittleZufallszahl(0,9)) {
gewinnklasse = 9;
}
gibGewinnAus(lottoZahlen, gewinnklasse);
return gewinnklasse;
}
public static void gibGewinnAus(int[] lottoZahlen, int gewinnklasse) {
System.out.println("Die Zahlen der Ziehung waren: ");
for(int i = 0; i<(lottoZahlen.length-1); i++) {
if(i == 0) {
System.out.print(lottoZahlen[i]);
}else {
System.out.print(" "+ lottoZahlen[i]);
}
}
System.out.println();System.out.println("Die Superzahl war: "+lottoZahlen[lottoZahlen.length-1]);
System.out.println("Folgenden Gewinn haben Sie erzielt: ");
switch(gewinnklasse) {
case 1:
System.out.println("Superzahl und 6 richtige, Jackpot!");
break;
case 2:
System.out.println("6 richtige.");
break;
case 3:
System.out.println("Superzahl und 5 richtige.");
break;
case 4:
System.out.println("5 richtige.");
break;
case 5:
System.out.println("Superzahl und 4 richtige.");
break;
case 6:
System.out.println("4 richtige");
break;
case 7:
System.out.println("Superzahl und 3 richtige.");
break;
case 8:
System.out.println("3 richtige.");
break;
case 9:
System.out.println("Superzahl und 2 richtige.");
break;
}
}
}
Vielen Dank 🙂