已有101人关注
《Java从入门到精通》书P99 关于foreach语句的问题
发表在Java图书答疑 2009-03-20
是否精华
版块置顶:
public class Tautog { //创建类
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 + "、"); //输出信息
}
}
}
}
以上的源程序是书上P99的一道程序,我有个不明白,就是“if (e == x.length)” 的意思,这里的e代表的究竟是什么?参照下一句“System.out.print(e); //输出二维数组的最后一个元素”,这个e应该是代表数组的值,可是为什么又可以和数组的长度作比较呢?请知道的人指点下!另外,比较下面我自己写的一道简单程序:为什么输出结果会是“12、45、87、”而不是“12、45、87”?

public class test {
public static void main(String[] args) {
int arr[] = { 12, 45, 87 };
System.out.println(arr.length);
for (int x : arr)
if (x == arr.length)
System.out.print(x);
else
System.out.print(x + "、");
}
}
分享到:
精彩评论 1
东北虎
学分:0 LV1
2009-03-20
沙发
for (int x[] : arr2) { 中的x是指二维数组int arr2[][] = { { 4, 3 }, { 1, 2 } };中的各个数组元素{ 4, 3 }和{ 1, 2 }
for (int e : x) { 中的e是指数组{ 4, 3 }和{ 1, 2 }中的各个元素值
if (e == x.length) { 中的e是指数组{ 1, 2 }中的元素值2正好等于数组元素的个数。

所以把你的程序if (x == arr.length)改为if (x == 87)就是你想要的结果了。
首页上一页 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经营性网站备案信息 营业执照