Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 随机生成器始终生成数字0_Java_Arrays_Random - Fatal编程技术网

Java 随机生成器始终生成数字0

Java 随机生成器始终生成数字0,java,arrays,random,Java,Arrays,Random,我想知道为什么生成的第一个数字总是“0” 代码如下: public static void main(String[] args) { boolean[] pack = new boolean[52]; int[] cards = new int[5]; for (int i = 0; i < pack.length - 1; i++) { System.out.print(pack[i] + " | "); }

我想知道为什么生成的第一个数字总是“0”

代码如下:

public static void main(String[] args) {

    boolean[] pack = new boolean[52];
    int[] cards = new int[5];

    for (int i = 0; i < pack.length - 1; i++) {
        System.out.print(pack[i] + " | ");         
    }
    System.out.println();

    Random give = new Random();

    for (int i = 0; i < cards.length; i++) {
       while (pack[cards[i]])
            cards[i] = give.nextInt(5);  

       pack[cards[i]] = true;                 
       System.out.println(cards[i]);

    }

    for (int i = 0; i < pack.length - 1; i++) {
        System.out.print(pack[i] + " | ");         
    }     
}
publicstaticvoidmain(字符串[]args){
布尔[]包=新布尔[52];
int[]卡=新int[5];
对于(int i=0;i
因为
pack(cards[i])
在第一次迭代时总是错误的。解决方案可以是实现
do while
而不是
while

选中此项:

主要内容:
import java.util.Random;
公共类硬件{
公共静态void main(字符串[]args){
布尔[]包=新布尔[52];
int[]卡=新int[5];
对于(int i=0;i
输出: 假假2424244)假242424考生考生考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考考假|假|假|假|假|假|假|假|假|假|假|假|假|

四,

三,

0

一,

二,

真实2424244)真实2424244)真实24244)真实24244)真实2424244)真实24244)真实2424244)真实24244)真实244)真实244)真实244)真实244)真实244)真实24244)真实24244)真实244)真实242424244)假244)假244)假2424244)假24244)假假244)假假24244)假假244)假2424244)假假244)假假244)假假244)假244)假244)假244)假244)假假244)假244)假242424假|假|假|假|假|假|假|假|假|假|假|假|假|


javascript!=另外,请格式化你的代码-现在真的很难阅读。(如果你能让它成为一个完整的程序,这也会有帮助。你离得很近,有一个
main
方法-但仅仅包括类声明和导入将帮助我们复制、粘贴、编译和运行。)这
give.nextInt(5)
,你的意思是
give.nextInt(pack.length)
?非常感谢你的帮助,我一定会用你给我的解决方案来检查代码
import java.util.Random;
public class hw {

       public static void main(String[] args) {

            boolean[] pack = new boolean[52];
            int[] cards = new int[5];

            for (int i = 0; i < pack.length - 1; i++) 
            {
                System.out.print(pack[i] + " | ");         
            }

            System.out.println();

            Random give = new Random();

            for (int i = 0; i < cards.length; i++) {
                do
                {
                    cards[i] = give.nextInt(5); 
                }
                while ( pack[cards[i]] );

                pack[cards[i]] = true;                 
                System.out.println(cards[i]);
            }

            for (int i = 0; i < pack.length - 1; i++) 
            {
                System.out.print(pack[i] + " | ");         
            }     
       }

}