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