明天考试,复习到多线程有问题了
如题,我复习到多线程时写了个小程序可是就是不出结果,我很着急,请帮一下 谢谢!
程序如下:
class insert extends Thread //插入排序
{ int i,j,temp;
private int[] text;
int n=text.length;
public insert(int[] text)
{
this.text=text;
}
public void run()
{ for(i=0;i <n-1;i++)
{
temp=text[i+1];
j=1;
while(j> -1&&temp <=text[j])
{
text[j+1]=text[j];
j--;
}
text[j+1]=temp;
}
for(int i=0;i <n;i++)
System.out.println(text[i]+ " ");
}
}
class maopao extends Thread //冒泡排序
{
private int[] text;
int i,j,flag=1;
int temp;
int n=text.length;
public maopao(int[] text)
{
this.text=text;
}
public void run()
{ for(i=1;i <n&&flag==1;i++)
{
flag=0;
for(j=0;j <n-i;j++)
{
if(text[j]> text[j+1])
{
flag=1;
temp=text[j];
text[j]=text[j+1];
text[j+1]=temp;
}
}
}
for(int i=0;i <n;i++)
System.out.println(text[i]+ " ");
}
public static void main(String args[])
{
int[] text={20,50,12,2,30};
maopao xxx=new maopao(text);
insert yyy=new insert(text);
xxx.start();
yyy.start();
}
}
我想不明白为什么什么都不显示呢?请高手指点下
------解决方案-------------------- int n=text.length; //你这么写不会报
空指针异常么?
------解决方案--------------------int n;//=text.length;
public maopao(int[] text)
{
this.text=text;
n=text.length;
}
...
------解决方案--------------------[b][/b]