作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在写一个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/
我的代码看起来很业余,因为我是一名二年级的软件工程学生。 我创建了一个彩票号码生成器,并注意到奇怪但一致的结果。我的程序尝试匹配之前的欧洲百万彩票抽奖号码。我记录了尝试的次数,还记录了匹配 3、4、5
Scanner input = new Scanner(System.in); Random random = new Random(); System.out.print("Enter a numb
所以我正在模拟彩票。我生成 0 到 40 之间的 6 个数字,并将它们显示在 html id“生成”中。我的问题是,如果我第二次单击“生成”(在我的 html 页面中),之前生成的数字仍然是数组的一部
我正在尝试解决彩票号码问题。有一张 table 卡片,上面有彩票号码: 表格:卡片 +----+----+----+----+----+----+ | ID | b1 | b2 | b3 | b4 |
我是一名优秀的程序员,十分优秀!