方法1:
    int[][] a = {
        {50,100,150,200},
        {150,100,250,200}
        ...
        };
方法2:
        int[][] a;
        a= new int[][]{
        {50,100,150,200},
        {150,100,250,200}
        ...
        };

解决方案 »

  1.   

    除了那样做之外,我按照书上的说
    int rect[13][4];
    rect[i][0]=23;
    rect[1][1]=400;
    ...
    竟然不正确!天!一个一个附值也不对!
    那怎么样才会对呢?我不敢忘自猜测!请各位help me once more
      

  2.   

    知道了,为什么在声明数组时不能指定长度?
    必需用int[][] rect;
    而不用int[13][4] rect;是为什么呢?我怎么想也不明白
      

  3.   

    int[][] rect是申明一个变量,类型是整型数组的数组,
    java中变量相当于C++指针,并不直接分配内存,变量的类型也只有八种数据原型及类和数组而已,而不存在特定的int[13][4]数组。
      

  4.   

    那么,是不是那些简单类型的数组可以这样定义,如果是其它的,比如
    Color类型的,就必需用Color[] ary=new Color[12];
    是这样的吗?
      

  5.   

    我把我的这段代码拿过来,大家看看有什么错,至使不能在网页上面浏览(applet):
    import java.applet.Applet;
    import java.awt.*;class logo extends Applet implements Runnable
    {
      Color[] colorarray=new Color[13];
      int beginindex;
      int[][] srect;            // 此数组存放12个颜色框的坐标
      Thread mythread;
      
      public void init()
      {
      int i;
      int a,b;
      beginindex=0;
      setBackground(Color.red);
      mythread=new Thread(this);
      colorarray[0]=Color.red;
      colorarray[1]=Color.white;
      colorarray[2]=Color.yellow;
      colorarray[3]=Color.black;
      colorarray[4]=Color.blue;
      colorarray[5]=Color.cyan;
      colorarray[6]=Color.darkGray;
      colorarray[7]=Color.gray;
      colorarray[8]=Color.green;
      colorarray[9]=Color.lightGray;
      colorarray[10]=Color.magenta;
      colorarray[11]=Color.orange;
      colorarray[12]=Color.pink;  // 以上为颜色的定义
       for(i=0;i<5;i++)
        {
         srect[i][0]=i*100+50;
         srect[i][1]=100;
         srect[i][2]=i*100+150;
         srect[i][3]=200;
        }
      for(i=0;i<3;i++)
      {
        if(i==1)
        {
          a=100;  b=500;
        }
        else
        {
          if(i==0)
            a=50;
          else
            a=500;
          b=a+50;
        }
        srect[i+5][0]=a;
        srect[i+5][1]=200;
        srect[i+5][2]=b;
        srect[i+5][3]=400;
       }
      for(i=0;i<5;i++)         //这个循环为第三行(5个)
       {
        srect[i+8][0]=i*100+50;
        srect[i+8][1]=400;
        srect[i+8][2]=i*100+150;
        srect[i+8][3]=500;
       }
      }
      public void start()
      {
        mythread.start();
      }
      public void paint(Graphics g)
      {
        int c;
        c=0;
        if(beginindex>12)
            beginindex=0;
        for(int i=0;i<13;i++)
        {
           c=(i+beginindex)%13;
           g.setColor(colorarray[c]);
           g.fillRect(srect[c][0],srect[c][1],srect[c][2],srect[c][3]);
        }
        beginindex=beginindex+1;
      } 
      public void run()
      {
        repaint();
        try
        {Thread.sleep(1000);}
        catch(Exception e)
        {}
      }
    }
    注释:本段代码目的是要实现一个颜色块围成的长方形,让它不停地"流动",以产生"流灯"的效果。编译通过,但不能浏览
    请大家看一看
      

  6.   

    不管你要做什么,先说两个错误:
    1.类应申明为public
    2.数组srect没初始化,
    在init中加入srect = new int[13][4];
      

  7.   

    thank you
    let me try
      

  8.   

    不好意思,这样做还是不行(仅编译通过,但不能浏览)
    开始到现在,把鼠标放上去时,在状态栏上有错误提示:
    exception:Java.lang.NullPointerExceiotn
    Why?