java用for循环给数组赋值,我这么写的为什么不对?(在线等,谢谢!)

final int n=10;
double[] num=new double[n];
for(int i=0;i<10;i++)
{ num[i]=(n+i)/100;
}
for(int i=0;i<10;i++)
{ System.out.println(num[i]);
}
}

其实呢,你这么写没有错。
但是为甚么打出来的都是0.0呢?
因为你除的100这个数太大,然后你又采用的是int类型的了
然后强制转换成0.0,建议不要处以100,你就处以1吧看看。追问

谢谢!换成1倒是可以了!可是我是要算利率啊!就是要转换成小数啊!为什么会太大呢!大吗?刚才我用 强制类型转换,转换成double 行了!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-26
(n+i)/100得到的是整数结果0。
(double)(n+i)/100试试本回答被提问者采纳
第2个回答  2011-09-26
10到20整除 100好像都是等于0吧
第3个回答  2020-03-13
final int n=10;
double[] num=new double[n];
for(int i=0;i<10;i++)
{ num[i]=(double)(n+i)/100;
}
for(int i=0;i<10;i++)
{ System.out.println(num[i]);
}
}
相似回答