Meine Frage:
Hallo
ich fange gerade mit bluej/java an und wollte einen Spiele automaten schreiben.
soweit bin ich gekommen:
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 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
Meine Ideen:
meine ideen stehen jetzt bei fragen... ich hoffe das ist nicht schlimm (ist mein erster beitrag^^)
a) Brauchst du die Imports nicht.
b) Es ist Konvention, dass die Klassennamen immer groß geschrieben werden.
c) Die main-Methode heißt in Java:
code:
1:
2:
3:
public static void main(String[] argv){
//Hier der Code
}
d) Ist diese Switch-Case-Schleife Unsinn. In deinem Switch-Kopf hast du ein Int-Wert drin, im Case-Teil dann chars '1', '2', '3'. Das ist falsch! Überlege dir nochmal, wie das auszusehen hat und ob das überhaupt so funktioniert.