foreach遍历二维数组出现的问题 foreach循环、数组 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for(int[] i :arry){ for(int j :i){ j = s.nextInt(); } } 这样肯定不行了,内循环改为for(int j=0;j<i.length;j++){ i[j] = s.nextInt();} 您说的是输入的还是输出的呢?我想问的是输入的时候用foreach是把每个元素都存在数组中了吗?然后群殴再用同样的方式取出来为什么又不可以了呢 使用foreach循环迭代时:对于基本类型变量,相当于复制了一份值给迭代变量,迭代变量和元素是独立的,所以不能改变元素的值 数组类型不是引用类型吗?还是说读取数据的内层foreach循环存取的值都是一个int类型,就知识相当于拷贝了一份,。?而不能改变值的大小??? 输入的时候只用foreach是不行的,理由楼上有解释。输出完全可以用foreach 我的理解是虽然数组类型是引用类型,但是里面的每个元素都是基本数据类型,对于基本数据类型,foreach 复制了一份值给迭代变量,在 foreach 中的操作是对迭代变量的操作,所以原来的内容不会变化一般情况下是不会在 foreach 中修改内容的 增强for循环一般只用于遍历数组或者集合!不能再增强for循环中修改删除数据! //输入数据 for(int[] i :arry){ for(int j :i){ j = s.nextInt(); } } 这样也没有将数据存入数组啊!i[]数组将值赋给j,而你又将从控制台输入的值赋给j,你只是将值赋给 j 覆盖了 j 原来的值,并没有改变数组值啊!所以输出的都是默认值0。 Comparator 如何用java绘制弧形文字(急!!!!!) java大师级进,望指点谜经 关于增加字符串 连接数据库SQL的错误~ 如何用jdk开发servlet? 我的huffman建树及排序又哪里不对啊 要疯了-。- 在线等 关于jb使用的问题 如何替换回车(用<br>) window开发ssh项目本地没问题,部署到linux服务器报错,贴出日志麻烦大家帮忙看看 很难的一个问题,慎入 如何自己写Swing的控件?
for(int j :i){
j = s.nextInt();
}
}
这样肯定不行了,内循环改为
for(int j=0;j<i.length;j++){
i[j] = s.nextInt();
}
对于基本类型变量,相当于复制了一份值给迭代变量,迭代变量和元素是独立的,所以不能改变元素的值
一般情况下是不会在 foreach 中修改内容的
//输入数据
for(int[] i :arry){
for(int j :i){
j = s.nextInt();
}
}
这样也没有将数据存入数组啊!i[]数组将值赋给j,而你又将从控制台输入的值赋给j,你只是将值赋给 j 覆盖了 j 原来的值,并没有改变数组值啊!所以输出的都是默认值0。