首页上一页 1 下一页尾页 1 条记录 1/1页
关于遍历数组例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)?请指教。
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)?请指教。