【发布时间】:2015-04-07 00:10:11
【问题描述】:
我正在制作一个宾果游戏。 我目前只想制作表示宾果卡上数字的二维数组。 第 1 列只能包含 1-15 第 2 栏 16-30 第3栏31-45等......
到目前为止,这是我的代码,有时它会引发异常,但有时却不会,这很奇怪。
private int[][] bingoCard = new int [5][5];
public BingoCard()
{
int [][]bingoCardInit = new int [5][5];
bingoCard = bingoCardInit;
}
public void fillInCard()
{
int arrayIndex = 0;
Integer[] arr = new Integer[16];
for (int i = 1; i <= 15; i++)
{
arr[i] = i;
}
Collections.shuffle(Arrays.asList(arr));
for(int rowIndex = 0; rowIndex<5; rowIndex++)
{
bingoCard[0][rowIndex] = arr[rowIndex];
System.out.println(bingoCard[0][rowIndex]);
}
Integer[] arr1 = new Integer[16];
for (int i = 16; i <= 30; i++)
{
arr1 [arrayIndex]= i;
arrayIndex++;
}
Collections.shuffle(Arrays.asList(arr1));
arrayIndex = 0;
for(int rowIndex = 0; rowIndex<5; rowIndex++)
{
bingoCard[1][arrayIndex] = arr1[rowIndex];
System.out.println(bingoCard[1][arrayIndex]);
arrayIndex++;
}
arrayIndex = 0;
Integer[] arr2 = new Integer[16];
for (int i = 31; i <= 45; i++)
{
arr2 [arrayIndex]= i;
arrayIndex++;
}
Collections.shuffle(Arrays.asList(arr2));
arrayIndex = 0;
for(int rowIndex = 0; rowIndex<5; rowIndex++)
{
bingoCard[2][arrayIndex] = arr2[rowIndex];
System.out.println(bingoCard[2][arrayIndex]);
arrayIndex++;
}
arrayIndex = 0;
Integer[] arr3 = new Integer[16];
for (int i = 46; i <= 60; i++)
{
arr3 [arrayIndex]= i;
arrayIndex++;
}
Collections.shuffle(Arrays.asList(arr3));
arrayIndex = 0;
for(int rowIndex = 0; rowIndex<5; rowIndex++)
{
bingoCard[3][arrayIndex] = arr3[rowIndex];
System.out.println(bingoCard[3][arrayIndex]);
arrayIndex++;
}
}
我只是想知道为什么它有时会抛出异常。
【问题讨论】:
-
你能发布你的堆栈跟踪吗?
-
BingoCard.main(BingoCard.java:78) 的 BingoCard.fillInCard(BingoCard.java:37) 的线程“主”java.lang.NullPointerException 中出现异常,但有时它会更改为线程中的异常“在 BingoCard.main(BingoCard.java:78) 的 BingoCard.fillInCard(BingoCard.java:23) 的 main" java.lang.NullPointerException 和由于某种原因不同的数字
-
你能指出你代码中的那些行吗?
-
对于 nullpointer 问题,它只是单步执行并找出什么是 null、为什么以及您需要确保它设置或不被访问的位置。
标签: java function class exception random