数组中的值都是相同的

时间:2014-05-15 20:41:34

标签: java

每次都获得k的值,但最后一个for循环中数组m[l]中的值都是相同的。

int l,j,k=0;
int m[]=new int[10];
for(l=0;l<len;l++){
    for(j=0;j<10;j++){
        char a= sub.charAt(j);
        k=k*100+(int)a;
    }
    System.out.println("k=" +k);
    m[l]=k;
    System.out.println(m[l]);
}
for(l=0;l<len;l++)
    System.out.println("outside all loop m[l] = " +m[l]);

2 个答案:

答案 0 :(得分:0)

这条线在内循环中运行的前9次没有完成任何事情:

k=k*100+(int)a;

它的值仅由内循环的最后一次运行设置,也就是m[l]也被设置。修复这应该有助于你想要做的任何事情。

答案 1 :(得分:0)

问题陈述有点模糊,但看起来将k改为long就可以了。

long k = 0;
int l, j = 0;
long m[]=new long[10];