gpt4 book ai didi

java - 骰子滚子 Java 返回较少的随机结果

转载 作者:行者123 更新时间:2023-12-01 09:12:52 28 4
gpt4 key购买 nike

我正在尝试制作一个小程序,抛出“reservaDados”数量的骰子,并将“dado”(1-10 之间的数字)与指定的难度进行比较。然后我想打印退出、失败和 super 失败的次数,但我似乎对循环工作的次数有问题,它只打印 9 个结果,我想我似乎找不到原因它必须与计数器 i 做一些事情?

import java.util.*;

public class ProgramTUI {
public static void main(String[] args) {
Scanner var = new Scanner(System.in).useLocale(Locale.ENGLISH);
System.out.print("Cuantos dados lanzas?");
int reservaDados = var.nextInt();
System.out.print("Cual es la dificultad?");
int dificultad = var.nextInt();
int i = 0;
int numero_exitos = 0;
int numero_fracasos = 0;
int numero_pifias = 0;
while (i < reservaDados) {
i++;
int dado = (int) (Math.random() * 10) + 1;
if (reservaDados == i) {
System.out.println("Has sacado " + numero_exitos + " exitos, " + numero_fracasos
+ " fracasos, " + numero_pifias + " pifias");
} else if (dado == 1) {
numero_pifias++;
} else if (dado < dificultad) {
numero_fracasos++;
} else {
numero_exitos++;
}
}
}
}

最佳答案

在最后一次迭代中,不再进行计数,仅打印结果。所以你实际上错过了一次迭代。

可以通过删除第一个 else 或进行一次额外的迭代来修复。

但是只需将整个结果打印出循环并将其直接放在循环之后即可。这将使代码的意图更加清晰。

关于java - 骰子滚子 Java 返回较少的随机结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40804746/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com