Ich erstelle ein Würfelspiel mit verschiedenen Methoden. Ich kann jedoch nicht herausfinden, wie Variablen zwischen meinen Methoden zur Verwendung in der anderen Methode übergeben werden. Es beginnt mit einem Menü, in dem der Benutzer entweder 1 für ungerade oder 2 für "select" auswählt, dann zur Roll-Methode geht, um die Summe der Roll zu erhalten, und dann die Berechnungsmethode, um dem Benutzer zu sagen, ob er einen oder einen Verlust hat. Allerdings kann ich nicht herausfinden, wie man diceSum übergibt und zwischen meinen Methoden für die Berechnungsmethode auswähle.Fehler beim Übergeben von Variablen zwischen Methoden
Ich kann nicht herausfinden, wie man wählen und diceSum in diceCalc() verwendet werden, um die Antwort für den Benutzer auszudrucken.
private static void guess(){
Scanner input = new Scanner(System.in);
System.out.print("(1) Odd\n"
+"(2) Even\n"
+"(3) Quit Game\n"
+"What is your selection: ");
try {
int select = input.nextInt();
if(select == 1) {
System.out.println("");
diceRoll();
} else if(select == 2) {
System.out.println("");
diceRoll();
} else if(select == 3) {
System.out.println("Thank you for playing Dueling Dice v1.0...");
system.out(0);
}
private static void diceRoll() {
int roll1, roll2, diceSum;
roll1 = (int)(Math.random()*6+1);
roll2 = (int)(Math.random()*6+1);
diceSum = roll1 + roll2;
System.out.println(" Dice 1 roll = " + roll1);
System.out.println(" Dice 2 roll = " + roll2);
System.out.println("TOTAL dice roll = " + diceSum);
diceCalc(); // this is called in the main after the guess since guess performs the roll
}
private static void diceCalc() {
if (diceSum % 2 != 0 && select == 1 || diceSum % 2 == 0 && select == 2) {
if (select == 1) {
System.out.println("Dice rolled = " + diceSum + "and you selected odd");
} else {
System.out.println("Dice rolled = " + diceSum + "and you selected even");
}
System.out.println("CONGRATULATIONS! You WIN!!");
won++;
played++;
}else if (diceSum % 2 == 0 && select == 1 || diceSum % 2 != 0 && select == 2){
if (select == 1) {
System.out.println("Dice rolled = " + diceSum + "and you selected odd");
} else {
System.out.println("Dice rolled = " + diceSum + "and you selected even");
}
System.out.println("I am sorry you lost!");
lost++;
played++;
}
System.out.print("it is making it here!");
Wie drucken Sie einen bestimmten String? Sie übergeben es als Argument der println() -Methode, oder? Also, wie denkst du dicechCalc sollte Zugang zu diceSum haben? Sollte es nicht als Argument gelten, damit diceRoll(), das diceCalc() aufruft, es als Argument übergeben kann? –
Haben Sie das Problem gelöst? – luizfzs