黑马程序员技术交流社区

标题: 方法完善 [打印本页]

作者: 李建锋    时间: 2012-2-15 21:45
标题: 方法完善
本帖最后由 李建锋 于 2012-2-16 09:49 编辑

package com.itcast.day01;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
public class ReflectTest1 {
public static void main(String[] args) throws Exception {



int[] a1 = new int[] { 12, 12, 34 };
                int[][] a2 = new int[][] { { 12, 34 }, { 112, 12, 34 } };

                String[] a3 = new String[] { "asd", "lhm", "zxx", "bxd" };
                String[][] a4 = new String[][] { { "asd", "lhm", "zxx", "bxd" },
                                { "asd", "lhm", "zxx", "bxd" } };        

    printArrys(a1);
             printArrys(a2);

                            private static void printArrys(Object a9) {

                Object obj = a9;

                if (obj.getClass().isArray()) {

                        int len = Array.getLength(obj);

                        for (int i = 0; i < len; i++) {

                                System.out.println(Array.get(obj, i) + " ");

                        }

                }

                else {
                        System.out.println(obj);
                }
}
}


请问怎么才可以把a2中的而数据给打印出来呢?

作者: 李杨    时间: 2012-2-15 23:11
private static void printArrys(Object a9)
        {
                int len = 0;
                int leng = 0;
               
                if (a9.getClass().isArray())
                {
                        len = Array.getLength(a9);
                       
                        for (int i = 0; i < len; i++)
                        {
                                Object obj = Array.get(a9, i);
                                leng = Array.getLength(obj);
                               
                                for(int j = 0; j < leng; j++)
                                {
                                        System.out.println(Array.get(obj, j) + " ");
                                }
                        }
                }
                else
                {
                        System.out.println(a9);
                }
        }

这个是打印二维数组的代码.希望能对你有帮助.对了这个打印不了一维,不用二维能打印一维,,你会的...加油..

作者: 陈丹阳    时间: 2012-2-15 23:21
  1. package cn.chdany;

  2. import java.lang.reflect.Array;
  3. import java.lang.reflect.Method;
  4. public class Test1 {
  5.         public static void main(String[] args) throws Exception {



  6.                 int[] a1 = new int[] { 12, 12, 34 };
  7.         int[][] a2 = new int[][] { { 12, 34 }, { 112, 12, 34 } };
  8.         String[] a3 = new String[] { "asd", "lhm", "zxx", "bxd" };
  9.         String[][] a4 = new String[][] { { "asd", "lhm", "zxx", "bxd" },{ "asd", "lhm", "zxx", "bxd" } };
  10.         String[][][] a5= new String[][][]{{ { "mmm", "lhm", "zxx", "bxd" },{ "asd", "lhm", "zxx", "bxd" } },
  11.                         { { "add", "ldm", "zxx", "bxd" },{ "asd", "lhm", "zxx", "bxd" } }                        };
  12.         printArrys(a1);
  13.         System.out.println();
  14.         printArrys(a2);
  15.         System.out.println();
  16.         printArrys(a3);
  17.         System.out.println();
  18.         printArrys(a4);
  19.         System.out.println();
  20.         printArrys(a5);
  21.         System.out.println();
  22.         }

  23.     private static void printArrys(Object a9) {
  24.             Object obj = a9;
  25.             if (obj.getClass().isArray()) {
  26.                     int len = Array.getLength(obj);
  27.                     for (int i = 0; i < len; i++) {
  28.                             //System.out.println(Array.get(obj, i) + " ");
  29.                             printArrys(Array.get(obj, i));
  30.                             }
  31.                     }
  32.             else{
  33.                     System.out.println(obj);
  34.             }       
  35.     }
  36. }
复制代码

作者: 陈丹阳    时间: 2012-2-15 23:25
虽然只改了一行代码,但可以打印你所说的所有内容,用递归的思想。
作者: 李杨    时间: 2012-2-15 23:40
陈丹阳 发表于 2012-2-15 23:25
虽然只改了一行代码,但可以打印你所说的所有内容,用递归的思想。

递归不错。。。。挺好的。。。。


作者: 李建锋    时间: 2012-2-16 09:48
恩,领会了,多谢指教!




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