java - 即使我将 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 个值。请帮帮我。我不知道我哪里出错了。
解决方案
这是问题所在:
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 个值之间进行复制。
推荐阅读
- javascript - 如何将 MySQL 查询数据传递给 JavaScript 变量?
- c# - 声明静态和非静态变量
- java - 结果集 rs.next() 的 rs 变量如何为真,即使它们在第二个表 b 中没有记录
- c++ - c++ getSize() 方法返回奇怪的值
- jquery - 使用 $.width() 调整元素的大小变得更大而不是更窄
- python - ValueError:遇到意外的 $end - RPLY Parsing
- c# - 如何在同一个数组中返回不同的数据类型?
- ffmpeg - 使用 ffmpeg 将 Logitech C920 视频传输到两个输出:重新编码为 RTMP 流和硬件编码为文件
- python - 有什么方法可以优化使用 pandas 读取 TSV 文件、进行转换并使用 spark 写入表的代码?
- mysql - 获取跨多个表的不同值的计数(MySQL)