Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java int[]数组显示_Java_Arrays - Fatal编程技术网

Java int[]数组显示

Java int[]数组显示,java,arrays,Java,Arrays,我正在做一个电脑版的游戏叫“垃圾”。 我在显示数组中的一些数字时遇到了一些问题,有人能帮助我如何在下一个数组中显示所有值吗 int SideBetNumber = Console.readInt("How many side bets would you like to make ? (Introduce a number, minimum 1, maximum 6.)"); int[] SBNArray = new int[SideBetNumber]; int[] sbArray = ne

我正在做一个电脑版的游戏叫“垃圾”。 我在显示数组中的一些数字时遇到了一些问题,有人能帮助我如何在下一个数组中显示所有值吗

int SideBetNumber = Console.readInt("How many side bets would you like to make ? (Introduce a number, minimum 1, maximum 6.)");

int[] SBNArray = new int[SideBetNumber];
int[] sbArray = new int[SideBetNumber];

int s = 0;

for (s = 0; s <= (SideBetNumber -1) ; s++) {
    SBNArray[s] = Console.readInt("On which number would you like to put a side bet ?");
    sbArray[s] = Console.readInt("Currently you have " + money + " chips, how much would you like to bet ?");
    money = money - sbArray[s];
    System.out.println("Thank you for your " +sbArray[s]+ " chip side bet on number " +SBNArray[s]+".");
    System.out.println();
}

PointEstablisher(numberDice ,bet ,money, SBNArray, sbArray, s);
并收到:

public static void PointEstablisher(int numberDice,int bet,
    int money,int[] SBNArray,int[] sbArray, int s)
我知道,这太长了,但是: 如何显示所有SBNArray和sbArray值,因为索引号取决于用户引入的SideBetNumber…我不能只键入SBNArray,因为它会给我错误…或者我不能键入SBNArray(3),因为它可能存在,也可能不存在,取决于用户的选择

我试过这个,但没有用:

    if (SBNArray[0] != 0) {
     System.out.println("SBN 1 is " +SBNArray[0]);
    }else {
       System.out.println("NO SBN 1 !!!");
    }
    if (sbArray[0] != 0) {
     System.out.println("sb 1 is " + sbArray[0]);
    }else {
       System.out.println("NO sb 1 !!!");
    }

    if (SBNArray[1] != 0) {
     System.out.println("SBN 2 is " +SBNArray[0]);
    }else {
       System.out.println("NO SBN 2 !!!");
    }
    if (sbArray[1] != 0) {
     System.out.println("sb 2 is " + sbArray[0]);
    }else {
       System.out.println("NO sb 2 !!!");
    }

    if (SBNArray[2] != 0) {
     System.out.println("SBN 3 is " +SBNArray[0]);
    } else {
       System.out.println("NO SBN 3 !!!");
    }

    if (sbArray[2] != 0) {
     System.out.println("sb 3 is " + sbArray[0]);
    }else {
       System.out.println("NO sb 3 !!!");
    }
enter code here
但没有成功:java.lang.ArrayIndexOutOfBoundException:


有人能帮我显示数组的现有值吗?

你应该循环数组的值,而不是逐个比较它们

for (int i = 0; i < SBNArray.length; i++){
    if (sbArray[i] != 0) {
        System.out.println("sb " + i + " is " + sbArray[i]);
    } else {
        System.out.println("NO sb " + i + " !!!");
    }
}
for(int i=0;i

并对另一个数组执行相同的操作。您甚至可以为此创建一个私有方法,以防止重复您自己的操作。

如果SBNArray[]和sbArray[]的值正确,并且它们的大小为'SideBetNumber',也许这会起作用:(我是这里的新手,这是我的第一个答案。如果帮不上忙,我只能说'Sorry!')


for(int i=0;谢谢你,我刚刚试过了,它工作得很好,它给了我数组中的值,它在数组的末尾停止,所以不再有ArrayIndexOutOfBoundExeption了。谢谢你,这与前面的答案几乎相同,我相信这个也能工作
for (int i = 0; i < SBNArray.length; i++){
    if (sbArray[i] != 0) {
        System.out.println("sb " + i + " is " + sbArray[i]);
    } else {
        System.out.println("NO sb " + i + " !!!");
    }
}
for (int i=0;i<SideBetNumber;i++) {
if (SBNArray[i] != 0) {
    System.out.println("SBN "+(i+1)+" is " +SBNArray[i]);
} else {
    System.out.println("NO SBN "+(i+1)+" !!!");
}
if (sbArray[i] != 0) {
    System.out.println("sb "+(i+1)+" is " + sbArray[i]);
} else {
    System.out.println("NO sb "+(i+1)+" !!!");
}
}