在下面两个for循环中,我首先给数组元素赋值,然后再将数组元素打印出来。可是运行结果显示我没有赋值呢?
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array = new int[10];
for(int a : array){
a = (int)(Math.random()*100);
System.out.print(a + ";");
}
for(int a : array){
System.out.print(a + ";");
}
}
运行结果如下:
26;82;64;78;99;13;13;34;91;39;0;0;0;0;0;0;0;0;0;0;
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array = new int[10];
for(int a : array){
a = (int)(Math.random()*100);
System.out.print(a + ";");
}
for(int a : array){
System.out.print(a + ";");
}
}
运行结果如下:
26;82;64;78;99;13;13;34;91;39;0;0;0;0;0;0;0;0;0;0;
解决方案 »
- java引入Android NinePatch技术的意义
- java在线等:我想问一下这段游戏代码是怎么样实现蛇头不断移动(用哪些代码实现),还有就是蛇吃到食物后蛇头和蛇身怎么变换,怎么实现蛇身加1??(完整代码在附件中)
- UUID通过本机的哪些东西生成,包括网卡地址吗?
- EJB3.0 实体主键
- 求助,大家帮忙看看如何实现登录功能
- java问题
- 自己静下心,一年半的时光,java可以学到什么程度
- 多个JTextField使用同一个FocusEvent时,怎样判断焦点事件来源?
- 请问如何在Structs的action中处理exception从而跳转到全局的错误页面?送分
- 关于JTable的小问题
- 简单字符串替换问题
- 算法問題
a = (int)(Math.random()*100);
System.out.print(a + ";");
}
天,这样是遍历array的值,也就是把值取出来,是不能存值的
你看清楚,这个a是只有在这个for循环内才有效的
for(int i = 0;i<array.length;i++){
int a = (int)(Math.random()*100);
System.out.print(a + ";");
}
这你你赋值的是for循环里的局部变量.
因为:此时的a是一个临时变量(它不是数组元素array[i]),因而:对a的赋值,不会对数组array有影响.即:达不到对array中元素赋值的目的.
还是使用:
for(int i=0;i<array.length;i++)
{
array[i]=...;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array = new int[10];
for(int i=0;i<array.length;i++){
int a=(int)(Math.random()*100);
System.out.print(a+";");
array[i]=a;
}
System.out.println();
for(int i=0;i<array.length;i++){
System.out.print(array[i]+";");
}
}
运行结果:
36;47;12;27;54;34;34;61;9;44;
36;47;12;27;54;34;34;61;9;44;
希望你能自己看出来为什么你那里没有附值成功...