方法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}
...
};
int[][] a = {
{50,100,150,200},
{150,100,250,200}
...
};
方法2:
int[][] a;
a= new int[][]{
{50,100,150,200},
{150,100,250,200}
...
};
int rect[13][4];
rect[i][0]=23;
rect[1][1]=400;
...
竟然不正确!天!一个一个附值也不对!
那怎么样才会对呢?我不敢忘自猜测!请各位help me once more
必需用int[][] rect;
而不用int[13][4] rect;是为什么呢?我怎么想也不明白
java中变量相当于C++指针,并不直接分配内存,变量的类型也只有八种数据原型及类和数组而已,而不存在特定的int[13][4]数组。
Color类型的,就必需用Color[] ary=new Color[12];
是这样的吗?
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)
{}
}
}
注释:本段代码目的是要实现一个颜色块围成的长方形,让它不停地"流动",以产生"流灯"的效果。编译通过,但不能浏览
请大家看一看
1.类应申明为public
2.数组srect没初始化,
在init中加入srect = new int[13][4];
let me try
开始到现在,把鼠标放上去时,在状态栏上有错误提示:
exception:Java.lang.NullPointerExceiotn
Why?