Switch mit if anweisung kombinieren

Joohn1213

Mitglied
Hallo
ich fange gerade mit bluej/java an und wollte einen Spiele automaten schreiben.

soweit bin ich gekommen:
Java:
import java.applet.*;
import java.awt.*;


public class automat
{
public void main()
{
int zahl1 = (int) (Math.random()*3+1);
int zahl2 = (int) (Math.random()*3+1);
int zahl3 = (int) (Math.random()*3+1);
System.out.println(zahl1);
System.out.println(zahl2);
System.out.println(zahl3);

if (zahl1 == zahl2 && zahl2 == zahl3)
switch (zahl1) {
case '1':
System.out.println("Sie haben 10 euro gewonnen!");
break;
case '2':
System.out.println("Sie haben 20 euro gewonnen!");
break;
case '3':
System.out.println("Sie haben 30 euro gewonnen!");
break;
}

else
System.out.println("Versuchen Sie es nochmal!");

}

}

zuerst "würfel" ich die zahlen zahl1 zahl2 und zahl3 und gebe diese aus

-> das funktioniert

dann sage ich wenn die zahl1 genause ist wie zahl2 und zahl2 genauso ist wie zahl3 (sprich alle zahlen sind gleich)

dann sage bei zahl1 = 1 "Sie haben 10 Euro gewonnen!"
bei zahl1=2 "Sie haben 20 Euro gewonnen!"
usw
-> das funktioniert leider nicht wenn alle zahlen zb 1 sind wird nichts ausgegeben :noe:

wenn die zahlen nicht alle gleich sind soll

("Versuchen Sie es nochmal!") ausgegeben werden.
-> funktioniert

ich hoffe ihr könnt mir helfen da ich meinen code eigentlich ziemlich logisch finde und mir das problem nicht erklären kann

mfg Joohn1213
 
Weil du char-Werte verwendest. Mach mal die
Code:
'
weg, so dass da
Code:
case 1
steht, dann sollte es klappen
 

Zurück
Oben