黑马程序员技术交流社区

标题: 不规整二维数组的定义、赋值、输出、豁然开朗。 [打印本页]

作者: 赵宇    时间: 2012-9-20 11:01
标题: 不规整二维数组的定义、赋值、输出、豁然开朗。
本帖最后由 赵宇 于 2012-9-25 08:42 编辑

public class ArrayTest
{
public static void main(String[] args)
{
  
  int[][] a = new int[3][];
  a[0] = new int[2];
  a[1] = new int[3];
  a[2] = new int[1];
  

  int[][] a = new int[][]{ {1 ,2 ,3}, {4}, {5, 6, 7, 8} };
  for(int i = 0; i < a.length; i++)
  {
   for(int j = 0; j < a.length; j++) //这部分 纠结了一阵,希望大家不要翻我的错误。
   {
    System.out.print(a[j] + " ");
   }
   System.out.println();
  }
}
}


作者: 彭润生    时间: 2012-9-20 11:08
int[][] a = new int[][]{ {1 ,2 ,3}, {4}, {5, 6, 7, 8} };
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a.length; j++) //你定义的是一个二维数组,a也是一个以为数组。也有长度,这里该用a
{
System.out.print(a[j] + " ");//这儿该具体表示是哪一个数组,用a[j];
}
System.out.println();
}

作者: 赵宇    时间: 2012-9-20 11:14
彭润生 发表于 2012-9-20 11:08
int[][] a = new int[][]{ {1 ,2 ,3}, {4}, {5, 6, 7, 8} };
for(int i = 0; i < a.length; i++)
{

public class ArrayTest
{
public static void main(String[] args)
{
  
  int[][] a = new int[3][];
  a[0] = new int[2];
  a[1] = new int[3];
  a[2] = new int[1];
  

  int[][] a = new int[][]{ {1 ,2 ,3}, {4}, {5, 6, 7, 8} };
  for(int i = 0; i < a.length; i++)                                     //这里是二维数组的长度
  {
   for(int j = 0; j < a.length; j++)                // 这里是一位数组的长度
   {  
    System.out.print(a[j] + " ");
   }
   System.out.println();
  }
}
}


作者: 夏天    时间: 2012-9-20 11:17
手机党,make a mark 回去再看
作者: 严海荣    时间: 2012-9-20 11:21
  1. public class ArrayTest
  2. {
  3. public static void main(String[] args)
  4. {
  5.   
  6.   /*int[][] a = new int[3][];
  7.   a[0] = new int[2];
  8.   a[1] = new int[3];
  9.   a[2] = new int[1];
  10.   */

  11.   int[][] a = new int[][]{ {1 ,2 ,3}, {4}, {5, 6, 7, 8} };//把它看成3个一维数组,每个一维数组也是数组,
  12.   for(int i = 0; i < a.length; i++) //这个循环是3个一维数组,a.length
  13.   {
  14.    for(int j = 0; j < a[i].length; j++) //这个循环是数组的数组,长度要写成a[i].length
  15.    {
  16.     System.out.print(a[i][j] + " ");
  17.    }
  18.    System.out.println();
  19.   }
  20. }
  21. }
复制代码
  1. 1 2 3
  2. 4
  3. 5 6 7 8
复制代码
好像还是出了点问题,2个循环的数组的长度条件是不同的。
作者: 陈俊来    时间: 2012-9-20 11:31
lz,你要的是不是这个样子啊
public static void main(String[] args) {

/*                int[][] a = new int[3][];
                a[0] = new int[2];
                a[1] = new int[3];
                a[2] = new int[1];
*/
                int[][] a = new int[][] { { 1, 2, 3 }, { 4 }, { 5, 6, 7, 8 } };
                for (int i = 0; i < a.length; i++) {
                        for (int j = 0; j < a.length; j++) // 这部分 纠结了一阵,希望大家不要翻我的错误。                       
                    {
                                System.out.print(a[j] + " ");                       
                                }
                        System.out.println();
                }
        }




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