Guten Tag,
habe ein Problem bei einer Aufgabe in Java und hoffe, dass ich hier von erfahrenen Java Nutzern Hilfe bekommen kann.
Es geht um ein Programm, dass die Wahrscheinlichkeit eines Full House (Drilling und Paar) beim 5 Karten Poker, direkt nach dem Karten geben berechnet.
Ich weiß nicht genau wie ich weitermachen soll oder ob ich das Problem zu kompliziert angehe.
Ein Problem an dem ich gerade hänge ist, dass die Ausgabe bei einem Paar oftmals flasch ist.
Ich weiß nicht genau wie ich sagen kann, dass er die Karten die im Drilling "verbraucht" sind, nicht mehr beachten soll.
Hier ist das Programm:
habe ein Problem bei einer Aufgabe in Java und hoffe, dass ich hier von erfahrenen Java Nutzern Hilfe bekommen kann.
Es geht um ein Programm, dass die Wahrscheinlichkeit eines Full House (Drilling und Paar) beim 5 Karten Poker, direkt nach dem Karten geben berechnet.
Ich weiß nicht genau wie ich weitermachen soll oder ob ich das Problem zu kompliziert angehe.
Ein Problem an dem ich gerade hänge ist, dass die Ausgabe bei einem Paar oftmals flasch ist.
Ich weiß nicht genau wie ich sagen kann, dass er die Karten die im Drilling "verbraucht" sind, nicht mehr beachten soll.
Hier ist das Programm:
Code:
public class Poker{
public static void main(String[] args) {
int karten[] = new int[52];
for (int i = 0; i < 5; i++){ // 5 Karten werden gezogen
karten[i] = 1+(int) Math.floor(14*Math.random());
}
System.out.println("Du hast "+karten[0]+" "+karten[1]+" "+karten[2]+" "+karten[3]+" "+karten[4]+" gezogen");
int i = 1; //Deklaration der (Hilfs-)Variablen
int z = 1;
int y = 1;
int x = 1;
int w = 1;
do{ //bei jedem "do" werden die Karten, beginnend mit Karte 0, mit der nächsten verglichen
if(karten[0] == karten[i]){
z = z + 1;
i = i + 1;
}
else{
i = i + 1;
}
}while(i <= 4);
int j = 2;
do{
if(karten[1] == karten[j]){
y = y + 1;
j = j + 1;
}
else{
j = j + 1;
}
}while(j <= 4);
int k = 3;
do{
if(karten[2] == karten[k]){
x = x + 1;
k = k + 1;
}
else{
k = k + 1;
}
}while(k <= 4);
if(karten[3] == karten[4]){
w = w + 1;
}
if (z > 2 && z <= 3 || y > 2 && y <= 3 || x > 2){ //Sollte Karte 0 oder Karte 1 oder Karte 3 mit den anderen übereinstimmen, so gibt es 3 gleiche
System.out.println("three of a kind");
}
if (z == 2 || y == 2 || x == 2 && karten[2] == karten[4] || karten[2] == karten[1] || karten[2] == karten[0]){ //hier bin ich mir unsicher, da ich nicht genau weiß ich ich dem Programm sage, dass er die bereits verglichenen Karten
System.out.println("two of a kind"); //weglässt. Ausserdem soll es ja im Fall eines Drillings und eines Päärchens Full House ausgeben und die Wahrscheinlichkeit
} // ausrechnen, wie viele Versuche er dafür benötigt hat.
}
}