黑马程序员技术交流社区

标题: 关于二维数组输出的问题【已解决】 [打印本页]

作者: 张小庆    时间: 2012-3-20 13:05
标题: 关于二维数组输出的问题【已解决】
本帖最后由 张小庆 于 2012-3-20 14:30 编辑

假设我定义了一个二维数组是这样的 String[][] arr={{“韩梅","18","95"},{"李雷","17","96"}};
怎样一下就把第一个一维数组输出呢?
作者: 马云    时间: 2012-3-20 13:12
本帖最后由 马云 于 2012-3-20 13:33 编辑

不太明白你的一下是什么意思,
输出可以用高级for循环的嵌套形式

(追加回复)

import java.io.UnsupportedEncodingException;


public class SplitDemo {

           public static void main(String[] args) {
                                   String[][] arr={{"韩梅","18","95"},{"李雷","17","96"}};
                                  
                                   //使用嵌套高级for循环输出全部元素
                                   for(String[] arr1:arr){
                                           for(String arr2:arr1){
                                                   System.out.println(arr2);
                                           }
                                   }
                                  
                                   System.out.println("------------------------------华丽的分隔线------------------------------");
                                   //使用嵌套for循环输出第一维的全部元素(注意arr'['i']'.length的使用)
                                   for(int i=0;i==0;i++)
                                   {
                                           for(int j=0;j<arr.length;j++)
                                           {
                                                   System.out.println(arr[j]);
                                           }
                                   }
                 }


                }



顺便提下啊,在轮坛里的编辑器特定情况下过虑'[']'中括号,使用时请注意
作者: 张小庆    时间: 2012-3-20 13:16
本帖最后由 张小庆 于 2012-3-20 13:18 编辑
马云 发表于 2012-3-20 13:12
不太明白你的一下是什么意思,
输出可以用高级for循环的嵌套形式


呃~~~就是如果我这样写System.out.println(arr[0][0]);输出的结果就是 韩梅  
但我想把这个0角标的数组一起输出呢?怎么办?
作者: ♂诸侯♂    时间: 2012-3-20 13:18
本帖最后由 ♂诸侯♂ 于 2012-3-20 13:21 编辑

package Test;

public class Test4 {
        public static void main(String[] args) {
                        String[][] brr={

                    {"我","爱","你"},{"是","假","的"}
                                };
                    for (int i=0;i<1 ;i++ )
                    {
                    for (int j=0;j<brr.length;j++ )
                    {
                    System.out.println(brr[j]);
                    }
                    }
}
       
}


console:



作者: ♂诸侯♂    时间: 2012-3-20 13:23
这个是截图。

QQ截图20120320132258.png (21.5 KB, 下载次数: 49)

QQ截图20120320132258.png

作者: 李深山    时间: 2012-3-20 13:24
你可以套两层高级for循环
class Stringbuf{
        static String[][] arr = {{"lilei","18","19"},{"hanmeimei","17","12"},};
        //通过两次循环获得
        public static void main(String[] args){
        for(String[] str: arr){
                //System.out.println(str);
                        for(String s: str)
                                System.out.println(s);}
        }       
}
输出:
lilei
18
19
hanmeimei
17
12
作者: 吴璞玉    时间: 2012-3-20 13:32
好吧,楼上的代码基本是完成了要求,但是我运行的结果不是那样的,首先打印的不是数组元素而是地址,System.out.println(brr[j]);这样输出就是数组元素了。而且这样循环brr.length长度是2维数组中大括号的数量,大括号数量为4个时,下面循环会出现数组角标越界异常

作者: ♂诸侯♂    时间: 2012-3-20 13:38
吴璞玉 发表于 2012-3-20 13:32
好吧,楼上的代码基本是完成了要求,但是我运行的结果不是那样的,首先打印的不是数组元素而是地址,System ...

谢谢提醒。
作者: 张小庆    时间: 2012-3-20 14:14
谢谢大家啊,解决了!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2