gpt4 book ai didi

java - 为什么我的输出没有 () 围绕重复数字以及为什么它不起作用?

转载 作者:行者123 更新时间:2023-12-01 13:50:41 25 4
gpt4 key购买 nike

package dice.project;
import java.util.Scanner;
import java.util.Random;

public class DiceProject {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter your number of rolls:");
int count = in.nextInt();
int[]rollDice = new int[count];
Random values = new Random();

for(int m=0; m<count; m++)
{
rollDice[m]=values.nextInt(6)+1;
}
boolean inRun=false;
for(int m=0; m<rollDice.length; m++)
{
if(inRun)
{
if(m>0 && rollDice[m]!=rollDice[m-1])
{
System.out.print(")" + rollDice[m]);
inRun=false;
}
}
if(!inRun)
{
if(m<rollDice.length-1 && rollDice[m]==rollDice[m-1])
{
System.out.print("(" + rollDice[m]);
inRun=true;
}
}
System.out.print(rollDice[m]);


}
if(inRun)
System.out.print("(");

}
}

我的程序有什么问题吗? 当我运行它时,我得到一个异常,它不起作用?

 at java.util.Scanner.nextInt(Scanner.java:2166)        
at java.util.Scanner.nextInt(Scanner.java:2119)
at dice.project.DiceProject.main(DiceProject.java:20)

这也是我尝试输出时显示的内容?

最佳答案

在第二个循环的第一次迭代中,您将得到一个 java.lang.ArrayIndexOutOfBoundsException 那是因为在这一行的第一次迭代中:

if(!inRun){
if (m < rollDice.length - 1 && rollDice[m] == rollDice[m - 1]) {

变量m此时为0,并且您正在尝试获取数组rollDice[m - 1]中不存在的索引,该索引将为-1 。解决这个问题,你就会看到你的程序正在运行。也许您需要稍微改变一下逻辑。

还尝试使用允许您调试应用程序的 IDE。

关于java - 为什么我的输出没有 () 围绕重复数字以及为什么它不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19985249/

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