Hallo zusammen,
hab ein Problemchen bei einer Aufgabe. Und zwar müssen wir zwei Klassen erstellen, Würfel und Ausgabe. In Würfel soll die ganze Berechnung implementiert werden und in Ausgabe eben die Ausgabe
. Hab das auch soweit hinbekommen, bis auf eine Sache. Eine Aufgabenstellung besteht darin, auszugeben, welcher Würfel größer bzw. kleiner ist. Testweise hab ich bei nur einer Klasse mit der if-schleife auch hinbekommen, nur bei zwei Klassen hab ich ein Problem, dass er manchmal die falsche Aussage ausgibt. Hier meine zwei Quellcodes:
[Java]package tools;
public final class Wuerfel {
private Wuerfel() {};
public static int wuerfel6() {
return (int) (java.lang.Math.random()*6+1);
}
public static int wuerfel20() {
return (int) (java.lang.Math.random()*20+1);
}
public static int wuerfel2d6() {
int WuerfelSumme= wuerfel6()+ wuerfel6();
return WuerfelSumme;
}
}[/code]
und
Er gibt also manchmal "Der D20 Würfel hat gewonnen" obwohl die D6 Würfel eine höhere Zahl ausgeben. Hoffe, ich hab es verständlich erklährt^^. Paar Tipps wären sehr hilfreich
.
mfg
hab ein Problemchen bei einer Aufgabe. Und zwar müssen wir zwei Klassen erstellen, Würfel und Ausgabe. In Würfel soll die ganze Berechnung implementiert werden und in Ausgabe eben die Ausgabe
[Java]package tools;
public final class Wuerfel {
private Wuerfel() {};
public static int wuerfel6() {
return (int) (java.lang.Math.random()*6+1);
}
public static int wuerfel20() {
return (int) (java.lang.Math.random()*20+1);
}
public static int wuerfel2d6() {
int WuerfelSumme= wuerfel6()+ wuerfel6();
return WuerfelSumme;
}
}[/code]
und
Java:
package spiel;
import tools.Wuerfel;
public final class Ausgabe {
public static void main(String[] args) {
ausgabeD6();
ausgabeD20();
ausgabegroeßer();
}
private static void ausgabegroeßer() {
if (Wuerfel.wuerfel2d6() > Wuerfel.wuerfel20()){
System.out.println("*** Die D6 Würfel haben gewonnen***");
}
else {
System.out.println("*** Der D20 Würfel hat gewonnen***");
}
}
private static void ausgabeD20() {
System.out.println("Die Augenzahl des D20 ist: "+Wuerfel.wuerfel20());
}
private static void ausgabeD6() {
System.out.println("Die Summe der Augenzahlen der beiden D6-Würfel ist: "
+Wuerfel.wuerfel2d6());
}
}
Er gibt also manchmal "Der D20 Würfel hat gewonnen" obwohl die D6 Würfel eine höhere Zahl ausgeben. Hoffe, ich hab es verständlich erklährt^^. Paar Tipps wären sehr hilfreich
mfg