我正在尝试制作一个程序,该程序接受输入#players
并#dice
为每个玩家掷骰子任意次数。然后它输出卷和总数。
到目前为止,我已经设法开发了一个程序,该程序可以掷出与输入一样多的骰子,并将这些值存储在一个数组中,然后将其求和并输出。
不幸的是,我现在被困住了,因为当我试图让程序每次为新玩家再次执行此操作时,我真的不知道该怎么做。我知道它可能会与增量器一起使用,但我真的被复杂性弄得不知所措,甚至不知道我会在网上寻找什么。
这是我的代码:
package diceroll;
import java.util.ArrayList;
import java.util.Scanner;
public class DiceRoll {
public static void main(String[] args) {
int numplayers = 0, numdice = 0; // incrementers for #rolls and #players
// ArrayList<ArrayList> players = new ArrayList<ArrayList>();
// players.add(rolls); /// adding list to a list
// System.out.println(players);
ArrayList<Integer> rolls = new ArrayList<>();
System.out.println("Enter the number of players.");
Scanner scan = new Scanner (System.in);
numplayers = scan.nextInt();
System.out.println("Enter the number of dice.");
numdice = scan.nextInt();
while (numdice > 0 ) {
Die die1 = new Die();
die1.roll();
rolls.add(die1.getFaceValue());
numdice--;}
System.out.println(rolls);
// sum for array, but i cant access the arraylength
int total = 0;
for (int n : rolls) //what does the colon : do ?
{total += n;
System.out.println("Dice total:" + total);
}
}
}
还有一个基本Die.java
类,它为面值分配一个随机数,并具有我用来随机化骰子的滚动方法。
输出:
运行:输入玩家人数。1 输入骰子的数量。4 [5, 4, 6, 6] 5 9 15
唯一的问题是改变玩家数量目前没有效果。21