已有101人关注
二维数组问题?
发表在Java图书答疑 2012-12-06
是否精华
版块置顶:
public class Test_Double_Dimensional_Array {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO 自动生成的方法
int arr[][] = { { 4, 3 }, { 1, 2 } };
System.out.println("数组中的元素是:");
for (int[] is : arr) {
for (int e : is) {
if (e == is.length) {
System.out.print(e);
} else {
System.out.print(e + "、");

}

}

}
}

}
能给讲一下整个程序吗,不太明白,在if (e == is.length)中为什么不等于e而输出else呢?
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2012-12-07
沙发
这个程序整体上实现的是通过嵌套的foreach语句来遍历一个二维数组。
至于您说的“在if (e == is.length)中为什么不等于e而输出else呢?”应该是因为这个程序在判断是否为最后一个元素时,根据的是最后一个元素的内容进行判断的,这里应该是不正确的,如果最后一个元素内容与is.length不一致,就会只能输入else的内容。在上面的这个程序中,因为最后一个元素的内容是2,而当前遍历的这个数组长度也正好是2,才会输出图中的效果。

对于这个程序最好把下面的3行代码删除:
if (e == is.length) {
System.out.print(e);
} else {

如果想实现图中的效果最好用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经营性网站备案信息 营业执照