Даже если я сохраняю значение одного массива в другой и печатаю их целиком, но массив выводит последнее значение - PullRequest
0 голосов
/ 07 июня 2018

В этом коде у меня возникла некоторая проблема: я пытаюсь поместить значения массива val в массив значений, но все же массив, хотя объявленный 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 значения.Пожалуйста, помогите мне.Я не знаю, где я иду не так.

1 Ответ

0 голосов
/ 07 июня 2018

Вот проблема:

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

Когда вы создаете массив значений, это массив целых чисел.Поскольку это массив целых чисел, все значения инициализируются равными 0

. Теперь, когда мы перейдем к описанному выше циклу, он проходит по первым 8 элементам массива 'value' и присваивает им целое число в соответствующеммассив 'val'.

Причина, по которой вы никогда не видите ничего в массиве 'value', кроме значения [7], заключается в том, что вы никогда ничего не назначаете ему, вы копируете только первые 8 значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...