Вы могли бы немного упростить свой код, имитируя переход на шесть d ie, не требуя отслеживания шести независимых переменных (если вы не хотите их отображать). Вместо этого вы можете использовать IntStream
с ограничением. Кроме того, более идиоматический c Java способ записи al oop, который заканчивается при сравнении и присвоении, выглядит примерно так:
Random ran = new Random();
int rolltotal = 0;
Scanner s = new Scanner(System.in);
int roll;
while ((roll = s.nextInt()) != -1) {
int round = IntStream.generate(() -> ran.nextInt(6) + 1).limit(6).sum();
System.out.println(round);
rolltotal += round;
}
System.out.println(rolltotal);
Обратите внимание, что в действительности выше ничего не используется roll
(но я включил это, чтобы продемонстрировать, как вы можете, если вам нужно). Это может быть упрощено еще дальше. Мол,
Random ran = new Random();
int rolltotal = 0;
Scanner s = new Scanner(System.in);
while (s.nextInt() != -1) {
int round = IntStream.generate(() -> ran.nextInt(6) + 1).limit(6).sum();
System.out.println(round);
rolltotal += round;
}
System.out.println(rolltotal);