首页 > 解决方案 > 即使我将 1 个数组的值存储到另一个数组中并将它们作为一个整体打印,但数组仍然会打印最后一个值

问题描述

在这段代码中,我遇到了一些问题,即我试图将 val 数组值放在 value 数组中,但即使声明的 static 没有存储,仍然是数组。

我无法弄清楚问题所在。请帮帮我。

public static int[] val = new int[100]    ;            
    public static int[] value = new int[100];
    public static void main(String[] args)
    {

        System.out.println("An incremented value");
        for(int i=2;i<=2;i++) {
            String p="";
            for(int j=0;j<=i;j++) {
                for(int m=0;m<j;m++) {
                    p=p+"&";
                        }
                for(int m=0;m<i-j;m++) {
                    p=p+"|";
                        }
                 printAllPermutations(p);
                p="";

                for(int xy=0;xy<8;xy++){
                value[xy]=val[xy];
            System.out.println("["+xy+"]"+"="+val[xy]+"   ");      
                }
            }
        }
        for(int y=0;y<32;y++)
            System.out.println("["+y+"]"+"="+value[y]+"   ");     

    }

输出是::

An incremented value

|| opr:2    0 1 1 1 1 1 1 1[0]=0   
[1]=1   
[2]=1   
[3]=1   
[4]=1   
[5]=1   
[6]=1   
[7]=1   

&| opr:2    0 1 0 1 0 1 1 1
|& opr:2    0 0 0 1 1 1 1 1[0]=0   
[1]=0   
[2]=0   
[3]=1   
[4]=1   
[5]=1   
[6]=1   
[7]=1   

&& opr:2    0 0 0 0 0 0 0 1[0]=0   
[1]=0   
[2]=0   
[3]=0   
[4]=0   
[5]=0   
[6]=0   
[7]=1   
[0]=0   //here in the value array its storing only the last array value.
[1]=0   
[2]=0   
[3]=0   
[4]=0   
[5]=0   
[6]=0   
[7]=1   
[8]=0   
[9]=0   
[10]=0   
[11]=0   
[12]=0   
[13]=0   
[14]=0   
[15]=0   
[16]=0   
[17]=0   
[18]=0   
[19]=0   
[20]=0   
[21]=0   
[22]=0   
[23]=0   
[24]=0   
[25]=0   
[26]=0   
[27]=0   
[28]=0   
[29]=0   
[30]=0   
[31]=0

我希望 32 数组显示所有 32 个值。请帮帮我。我不知道我哪里出错了。

标签: javaarraysstatic

解决方案


这是问题所在:

for(int xy=0;xy<8;xy++){
    value[xy]=val[xy];
    System.out.println("["+xy+"]"+"="+val[xy]+"   ");      
}

当您创建值数组时,它是一个整数数组。因为它是一个整数数组,所以所有的值都初始化为 0

现在,当我们进入上面的循环时,它会遍历数组“value”中的前 8 个项目,并将相应数组“val”中的整数分配给它们。

您在数组 'value' 中看不到 value[7] 之外的任何内容的原因是因为您从未为其分配任何内容,您只是在前 8 个值之间进行复制。


推荐阅读