2 lyconquest123 lyconquest123 于 2014.12.12 17:09 提问

有关java二维数组的赋值

有关二维数组的赋值

public class HelloWorld {
public static void main(String[] args) {

    // 定义两行三列的二维数组并赋值
    String [][] names = new String[2][3];
    names = {{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};

    // 通过二重循环输出二维数组中元素的值
    for (int i = 0; i < names.length    ; i++) {

        for (int j = 0; j < names[i].length; j++) {
            System.out.println(names[i][j]);
            System.out.println(                  );
        }

        System.out.println();
    }
}

}
这么写在赋值那个地方报错了,不明白为什么是错的,我先声明并分配空间以后再赋值不可以么?
辛苦大家教教我这个菜鸟~~~

6个回答

xsm_lyf
xsm_lyf   2014.12.12 17:15

= =没有names={{}}这样纸赋值数组的

jinyan1993
jinyan1993 写法不对 建议看一下数组的基础知识
3 年多之前 回复
xsm_lyf
xsm_lyf 放在new String后面成功是因为他有够着函数
3 年多之前 回复
ZWXXL
ZWXXL   2014.12.12 17:29

数组常量只能 用于初始化

ZWXXL
ZWXXL   2014.12.12 17:30

public static void main(String[] args) {
// 定义两行三列的二维数组并赋值
String [][] names = new String[2][3];
String [][] temp = {{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};
names = temp;

    // 通过二重循环输出二维数组中元素的值
    for (int i = 0; i < names.length    ; i++) {

        for (int j = 0; j < names[i].length; j++) {
            System.out.println(names[i][j]);
            System.out.println(                  );
        }

        System.out.println();
    }
}
ZWXXL
ZWXXL   2014.12.12 17:30

public static void main(String[] args) {
// 定义两行三列的二维数组并赋值
String [][] names = new String[2][3];
String [][] temp = {{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};
names = temp;

    // 通过二重循环输出二维数组中元素的值
    for (int i = 0; i < names.length    ; i++) {

        for (int j = 0; j < names[i].length; j++) {
            System.out.println(names[i][j]);
            System.out.println(                  );
        }

        System.out.println();
    }
}
lxq_xsyu
lxq_xsyu   Rxr 2014.12.14 11:48

这样定义:

        // 定义两行三列的二维数组并赋值
        //String [][] names = new String[2][3];
        String[][] names = {{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};

或者这样写:

 // 定义两行三列的二维数组并赋值
        String [][] names = new String[][]{{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};

这是定义的时候初始化
你上面的那种写法 new String[2][3]已经分配了内存空间,所以不能再这样初始化了,只能单个初始化每个数组元素。

u010664312
u010664312   2014.12.14 21:10

因为你new了之后就初始化了(。具体你可以去看 堆栈内存
String [][] names = new String[2][3];
String [][]temp = {{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};
names=temp;
这样写就可以了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!