gpt4 book ai didi

java - 向数组添加增量?

转载 作者:行者123 更新时间:2023-12-01 11:06:11 24 4
gpt4 key购买 nike

所以我目前正在尝试在我的程序中使用数组,并在每次值在设定范围内时让它加 1。

/** Imports **/
import java.util.Scanner;
import java.util.Random;

/** Main code **/
public class DropRate2
{
public static void main(String[] args)
{
double min, max;
min = 0;
max = 1;
Scanner scan = new Scanner(System.in);
System.out.println("Enter a case type:");
String userinput = scan.nextLine();
Random rand = new Random();
int Drops[] = {1, 2, 3, 4, 5};

/** SHADOW **/
if (userinput.equalsIgnoreCase("Shadow"))
{
System.out.println("You chose the " + userinput + " case.\n");
System.out.println("How many cases do you wish to open?");
int loops = scan.nextInt();
System.out.println("Opening " + loops + " cases!");
for (int i = 0; i < loops; i++)
{
double chance = min + (max - min) * rand.nextDouble();
if (chance >= .769)
Drops[0] ++;
else if (chance >= .0259 && chance <= .758)
Drops[1] ++;
else if (chance >= .0169 && chance <= .258)
Drops[2] ++;
else if (chance >= .0089 && chance <= .0168)
Drops[3] ++;
else if (chance >= 0 && chance <= .0088)
Drops[4] ++;
}
System.out.println("You got " + Drops[0] + " blues.");
System.out.println("You got " + Drops[1] + " purples.");
System.out.println("You got " + Drops[2] + " pinks.");
System.out.println("You got " + Drops[3] + " reds.");
System.out.println("You got " + Drops[4] + " yellows.");
}
}

还有一个最后的大括号来关闭类本身,只是由于某种原因没有在这里格式化它

我现在不确定问题出在哪里。我不确定问题是出在数组本身还是代码的其余部分。当我运行此命令时,只有一个数组组应该增加增量。这样,如果我打开 10 个,那么总共应该只有 10 个,并根据机会分散。当我运行这个时,我得到了很多,例如 5 个紫色,8 个黄色,等等。

最佳答案

您正在初始化数组以包​​含 1 到 5:

int Drops[] = {1, 2, 3, 4, 5};

您可能希望从 0 开始,您可以明确地执行以下操作:

int Drops[] = {0, 0, 0, 0, 0};

或者简单地隐式:

int Drops[5];

这应该是您问题的主要原因。您的条件也存在问题,因为某个值可能介于一个范围的低值和下一个范围的高值之间。最好只指定较低的值,因为您已经在使用 else if:

    if (chance >= .769)
Drops[0] ++;
else if (chance >= .0259)
Drops[1] ++;
else if (chance >= .0169)
Drops[2] ++;
<etc>

关于java - 向数组添加增量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32919415/

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