我需要用特殊變量編寫一個簡單的java程序「滾動骰子」:當用戶滾動骰子時,應用程序滾動兩個骰子,顯示每個骰子的結果,並詢問用戶是否想要再次滾動。編寫一個程序,它具有Main方法和一個用於隨機數生成器的單獨方法。創建一個4個整數變量來存儲兩個骰子,兩個骰子的總和,以及一個擲骰子的次數。一個字符串變量來保存玩家的名字和一個字符變量來保存'y'或'n'。我花了一個小時嘗試做對,但沒有什麼效果。這是我到目前爲止,我不能做更多:滾動兩個骰子java程序
import java.util.Random;
import java.util.Scanner;
import javax.xml.validation.Validator;
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to the Karol’s Roller Application");
System.out.println();
Scanner sc = new Scanner(System.in);
String choice = "y";
choice = Validator.getString(sc, "Roll the Dice? (y/n): ");
while(choice.equalsIgnoreCase("y"))
{
choice = Validator.getString(sc, "Roll again? (y/n): ");
}
}
Random randomNumbers = new Random();{
int dieOne = 0;
int dieTwo = 0;
int totals[] = new int[ 13 ];
for(int index = 0; index < totals.length; index++) {
totals[ index ] = 0;
for(int roll = 1; roll <=4; roll++) {
dieOne = (int)(Math.random()*6) + 1;
dieTwo = (int)(Math.random()*6) + 1;
totals[ dieOne + dieTwo ]++;}
System.out.println("Roll 1" +
"\n " + dieOne + " " +
"\n " + dieTwo + " ");
if (totals[ dieOne + dieTwo ] == 7)
System.out.println("Craps!" + "\n");
else if (totals[ dieOne + dieTwo ] == 2)
System.out.println("Snake eyes!" + "\n");
else if (totals[ dieOne + dieTwo ] == 12)
System.out.println("Box cars!" + "\n");
}
}
}
請,如果有人能幫助我做正確的這個節目,我有一些問題與,該結果應該或多或少是這樣的:
Welcome to the "name here" Roller Application
Roll the dice? (y/n): y
Roll 1:
number on dice one
number on dice two
Roll again? (y/n): y
Roll 2:
number on dice one
number on dice two
Roll again? (y/n): y
Roll 3:
number on dice one
number on dice two
Roll again? (y/n): y
Roll 4:
number on dice one
number on dice two
這不是一個合理的縮進模式,還有一個額外的支架,所以我懷疑它會編譯,我期望你希望擲骰子的東西在while循環中(或者在從那裏調用的輔助方法中定義)。如果有疑問,一次只做一件事,並測試它是否有效。循序漸進的編程方法確實是一條可行的路。 – clwhisk
修復代碼中的身份。它會幫助你更好地找到語法和一些邏輯錯誤。 –