代码如下,但是不知道为何是死循环,求大神指点
public class t1{
int a[]=new int[7];
t1()
{
for(int i=0;i<7;i++)
{this.a[i]=0;}
}
void generate()
{
for(int j=0;j<7;j++)
{
int z=0;
boolean p=true;
while(p)
{
a[j]=(int)(Math.random()*7)+1;
for(int k=0;k<j;k++)
{
if(a[j]==a[k])
{z=1;}
}
System.out.println(z);
if(z==0)p=false;
}
}
}
public static void main(String[] args)
{
t1 test=new t1();
test.generate();
for(int i=0;i<7;i++)
{System.out.println(test.a[i]);}
}
}