已有101人关注
关于遍历数组例6.11的疑问
发表在Java图书答疑 2010-03-17
是否精华
版块置顶:
public class Taulog {                        //创建类
public static void main(String[] args) { //主方法
int arr2[][]={{4,3},{1,2}};          //定义二维数组
System.out.println("数组中的元素是:");//提示信息
for(int x[]:arr2){                    //外层循环变量为一维数组
for(int e:x){                     //循环遍历每一个数组元素
if(e==x.length){              //判断变量是二维数组中的最后一个元素
System.out.print(e);      //输出二维数组的最后一个元素
}else                         //如果不是二维数组的最后一个元素
System.out.print(e+"、"); //输出信息
}
}
}

}

对于:  
if(e==x.length){              //判断变量是二维数组中的最后一个元素
我认为这种写法太不严谨了:
   在这里,e的值是数组中某个元素的值,而不是数组元素的位置。在本例中输出为:4、3、1、2
   如果,我们把{{4,3},{1,2}}中的2改为3,结果输出就会是:4、3、1、3、
 再如果,我们把其中的4改为2,结果输出就成了:23、1、2
所以我觉得举例中的这种条件的设计,是很不严谨的,很容易产生误导。
另:如何在这里取得e的位置(index)?请指教。
分享到:
精彩评论 1
绿草_mrkj
学分:0 LV1
2010-03-18
沙发
  确实有读者所有本实例考虑的不过周全,就是以本实例而言,程序是没有错误的,本实例是使用foreach语句来遍历二维数组,就本实例而言是没有问题的。但是如果更换其他数据时,不可以这样写。
  另外要获取数据的索引位置请使用for循环语句。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照