到现在,还不知道JAVA二维数组的使用与定义~~
哪位大哥可否指教一下~~~
详细一点,最好有举例子~~在下,看书看不懂在讲些什么,网上的又太零乱了~~~

解决方案 »

  1.   

    Object[][] obj = new Object[10][10];for (int i1=0;i1<10;i1++) {
      for (int i2=0;i2<10;i2++) {
        obj[i1][i2] = new Object();
      }
    }
      

  2.   

    JAVA的二维数组其实跟其他语言的差不多
    比如声明方法:
    int [][] iArray;
    int []iArray[];
    int iArray[][];
    都是可以的,但是要注意,数组不能直接指定列数或者行数,比如int iArray[3][4],正确的应该是在创建对象时,如:int iArray[][] = new int[3][4].
    也可以这样:
    int iArray[][] = { {1,2,3},{2,2,4}};再就是二维数组可以列数不同
    比如:
    int iArray[][] = new int[2][];
    iArray[0] = new int [3];
    iArray[1] = new int [4];在就是记得,JAVA中数组都是对象。就这些了,请各位高人补充,小弟也跟着学习一下!
      

  3.   

    二维数组定义如下:
    比如是int型:
    int [][] = new int[2][2];
    就是代表一个int型数组长度为2,其中每个单位中又有一个长度为2的数组,就好像如果一个大盒子里面有两个小盒子,小盒子里面又有两个小小盒子!顺便提一下类型可以自己定,比如自己建立的studnet类也可用来定义,当然也可以是Obiect,呵呵,不知明白否??最后要记得给分哦,呵呵
      

  4.   

    直接给你个例子吧,里面有数组的定义和声明。看例子会学得更快,也更明白的。import java.util.*;public class MultiDimArray {
    static Random rand = new Random(); static int pRand(int mod) {
    return Math.abs(rand.nextInt()) % mod + 1;
    } public static void main(String[] args) {
    int[][] a1 = {
    { 1, 2, 3, },
    { 4, 5, 6, },
    };
    for(int i = 0; i < a1.length; i++)
    for(int j = 0; j < a1[i].length; j++)
    prt("a1[" + i + "][" + j + "] = " + a1[i][j]); // 3-D array with fixed length:
    int[][][] a2 = new int[2][2][4];
    for(int i = 0; i < a2.length; i++)
    for(int j = 0; j < a2[i].length; j++)
    for(int k = 0; k < a2[i][j].length; k++)
    prt("a2[" + i + "][" + j + "][" + k + "] = " + a2[i][j][k]); // 3-D array with varied-length vectors:
    int[][][] a3 = new int[pRand(7)][][]; for(int i = 0; i < a3.length; i++) {
    a3[i] = new int[pRand(5)][];
    for(int j = 0; j < a3[i].length; j++)
    a3[i][j] = new int[pRand(5)];
    } for(int i = 0; i < a3.length; i++)
    for(int j = 0; j < a3[i].length; j++)
    for(int k = 0; k < a3[i][j].length; k++)
    prt("a3[" + i + "][" + j + "][" + k + "] = " + a3[i][j][k]); // Array of non-primitive objects:
    Integer[][] a4 = {
    { new Integer(1), new Integer(2)},
    { new Integer(3), new Integer(4)},
    { new Integer(5), new Integer(6)},
    };
    for(int i = 0; i < a4.length; i++)
    for(int j = 0; j < a4[i].length; j++)
    prt("a4[" + i + "][" + j + "] = " + a4[i][j]); Integer[][] a5;
    a5 = new Integer[3][]; for(int i = 0; i < a5.length; i++) {
    a5[i] = new Integer[3];
    for(int j = 0; j < a5[i].length; j++)
    a5[i][j] = new Integer(i*j);
    } for(int i = 0; i < a5.length; i++)
    for(int j = 0; j < a5[i].length; j++)
    prt("a5[" + i + "][" + j + "] = " + a5[i][j]);
    } static void prt(String s) {
    System.out.println(s);
    }
    }====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  5.   

    最常用的方法,也是最简单最好记的方法是,如下:
    声明下标为整数0到3和0到9的二维数组student,数组值为双精度浮点型
    double student[][]=new int[3][9]
    其他的类推
      

  6.   

    to rypgood(失魂) :
        我怎么觉得在声名下标为0-3和0-9的数组要写成Object[][] obj=new Object[4][10].
    如果写成Object[][] obj=new Object[3][9]. obj[3]=1;就会报指针错误.我也是新手,只是
    刚遇到过这个问题有点印象,还希望说错了帮我纠正下.
      

  7.   

    他失手一时大意写错了。
    0-3和0-9的确是Object[][] obj=new Object[4][10]
      

  8.   

    // 建立数组对象
    Array vTest = new Array();
    for(int i=0; i<10; i++)
    {
        vTest.add(i);
    }// 第二步
    String [] aTest = new String[vTest.size()];
    vTest.toArray(aTest);// OK,End!