gpt4 book ai didi

Java彩票类

转载 作者:行者123 更新时间:2023-12-01 14:56:18 26 4
gpt4 key购买 nike

所以我正在写一个Lottery类和演示 Lottery 的类类(class)。我已经完成工作并且可以编译,但是当我运行它时,我得到

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4  
at LotteryDemo.main(LotteryDemo.java:21)

这是我的代码,任何帮助将不胜感激!

Lottery类:

    import java.util.Random;


import java.util.Scanner;

public class Lottery
{


int NUM_DIGITS = 5;
int[] lotteryNumbers = new int[4];




public Lottery(){
Random rand = new Random();
lotteryNumbers[0] = rand.nextInt(10);
lotteryNumbers[1] = rand.nextInt(10);
lotteryNumbers[2] = rand.nextInt(10);
lotteryNumbers[3] = rand.nextInt(10);
lotteryNumbers[4] = rand.nextInt(10);
getLotteryNums();

}


public int numIntsInCommon(int[] picks){
int inCommon = 0;

for (int counter = 0; counter < 5; counter++)
{
for (int index = 0; index < 5; index++)
{
if (lotteryNumbers[counter] == picks[index])
inCommon++;
return inCommon;
}
return inCommon;
}

return inCommon;
}

public String getLotteryNums(){
return lotteryNumbers[0] + ", " + lotteryNumbers[1] + ", " +
lotteryNumbers[2] + ", " + lotteryNumbers[3] + ", " +
lotteryNumbers[4];
}




}

LotteryDemo类(class):

    import java.util.*;


public class LotteryDemo
{
public static void main(String[] args)
{

Scanner input = new Scanner(System.in);
int[] userNumbers = new int[4];

System.out.println("Please supply your lottery picks. Choose unique numbers between 0 and 9.");
System.out.print("Enter digit 1: ");
userNumbers[0] = input.nextInt();
System.out.print("Enter digit 2: ");
userNumbers[1] = input.nextInt();
System.out.print("Enter digit 3: ");
userNumbers[2] = input.nextInt();
System.out.print("Enter digit 4: ");
userNumbers[3] = input.nextInt();
System.out.print("Enter digit 5: ");
userNumbers[4] = input.nextInt();


Lottery lottery = new Lottery();


System.out.print("Lottery Numbers: " + lottery.getLotteryNums());
System.out.print("Number of matching digits: " + lottery.numIntsInCommon(userNumbers));
if(lottery.numIntsInCommon(userNumbers) == 5)
System.out.print("All 5 match! You have hit the jackpot!");
}


}

最佳答案

int[] lotteryNumbers = new int[4];

这意味着数组有 4 个元素或 lotteryNumbers[0] .... lotteryNumbers[3]

因此lotteryNumbers[4] = rand.nextInt(10);会导致上述异常。

与导致异常的 main 中的 userNumbers 类似。

int[] userNumbers = new int[4];
...
userNumbers[4] = input.nextInt(); // java.lang.ArrayIndexOutOfBoundsException

关于Java彩票类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14291466/

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