我正在尝试一种方法,它采用五个骰子随机掷骰(int []骰子)并允许用户说出他们想要再次投掷哪个骰子(第1,第2,第3,第4或第5个骰子) )喜欢在游戏Yahtzee。我还必须验证用户是否选择了1到5之间的数字,他们不会输入重复的数字,并且他们不会输入超过4个数字再次滚动。如果要求不满足,我需要打印"非法死亡!"并要求用户再次输入。无论他们选择哪个骰子/骰子都需要再次随机化并分配到骰子[]阵列。这是我到目前为止基本上采用用户字符串输入并将其更改为整数,我无法弄清楚如何做我上面提到的其他事情。任何帮助将不胜感激!
public static void throwAgain(int[] dice) {
Scanner keyboard = new Scanner(System.in);
System.out.print("List which die to throw again: ");
String line = keyboard.nextLine();
String [] strArray = line.split(" ");
int [] intArray = new int[strArray.length];
for (int i = 0; i < intArray.length; i++){
intArray[i] = Integer.parseInt(strArray[i]); // Changes user's string input to an array of integers
}
// Arrays.sort(intArray);
}
答案 0 :(得分:1)
我还必须验证用户是否选择了1到5之间的数字
在循环时检查每个int。 >
和<
很有用。
他们没有提供重复的号码
创建一个将检查每个先前值的子循环。 =
很有用。
并且他们不会输入超过4个数字再次滚动。
.length
和>
非常有用。
如果要求不满足,我需要打印&#34;非法死亡!&#34;
布尔标志error
以false
开头,并在验证检查失败时将其设置为true
。最后,检查标志。 System.out.println
很有用。
并要求用户重新输入。
while
很有用。在顶部将error
设为true,在循环开始时设为false
。发生错误时循环。
无论他们选择哪个骰子/骰子都需要再次随机化并分配给骰子[]数组
循环遍历intArray
,并为dice
元素分配新的随机值,这些元素的索引比intArray
的每个元素小一个。 []
,-
和java.util.Random
非常有用。