Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
---- Logik (http://www.informatikerboard.de/board/board.php?boardid=16)
----- java switch und if anweisungen kombinieren (http://www.informatikerboard.de/board/thread.php?threadid=816)


Geschrieben von Joohn1213 am 12.12.2010 um 15:11:

  java switch und if anweisungen kombinieren

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^^)



Geschrieben von Ibn Batuta am 03.01.2011 um 17:10:

 

Du hast mehrere Fehler drin. Ich fange mal an...

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.


Ibn Batuta


Forensoftware: Burning Board, entwickelt von WoltLab GmbH