Münzwurf-Simulation

Happysheep99999

Neues Mitglied
public class Münzwurf
{

public static void main(String[] args)
{
double z = Math.random();


switch (z)
{
case 1:
z > 0.5;
System.out.println("Kopf");
break;
case 2:
z < 0.5;
System.out.println("Zahl");
break;
}


}

}


Ich habe hier zwei Probleme, ich habe sie beide mal markiert:
Cannot switch on a value of type double. Only convertible int values, strings or enum variables are permitted
und
Syntax error on token ">", invalid AssignmentOperator
 

mihe7

Top Contributor
Ja, das ist kein Fall für ein switch-Statement, sondern für ein if-Statement. Wenn Du unbedingt ein switch-Statement verwenden möchtest, dann könntest Du 0.5 addieren und zu einem int casten.

Nachtrag:
Java:
if (z > 0.5) {
    System.out.println("Kopf");
} else {
    System.out.println("Zahl");
}

oder als switch:
Java:
int kopfZahl = (int) (z + 0.5);
switch (kopfZahl) {
    case 0: System.out.println("Kopf"); break;
    case 1: System.out.println("Zahl"); break;
}

Außerdem lässt sich der ternäre Operator verwenden:
Java:
    System.out.println(z > 0.5 ? "Kopf" : "Zahl");
 
Zuletzt bearbeitet:

Blender3D

Top Contributor
Ich habe hier zwei Probleme, ich habe sie beide mal markiert:
Du möchtest einen Münzwurf ( coin flip ) simulieren. Als Ergebnis erhälts du entweder Kopf oder Zahl mit einer 50% Wahrscheinlichkeit.
Jetzt möchtest du die Münze z.B. 10 x werfen.
In der main Methode könnte dann z.B. so etwas stehen.

Java:
        for( int i= 0; i <10; i++ )
            System.out.print(coinFlip()+" ");
Damit erhälts du ein leicht lesbares Programm.

Durch das Auslagern des Münzwurfes hast du die Problemstellung geteilt.
Hier die zugehörige Funktion die sich an anderer Stelle wieder verwenden lässt. Wie bereits von @mihe7 erwähnt wird hier ein if Statement benutzt. Mittels ternärem Operator lässt sich der Code auch noch etwas verkürzen.

Java:
public static String coinFlip() {      
        if( Math.random() < 0.5 )
            return "Kopf";
        return "Zahl";
    }
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben