结果出不来
我刚接触java半个月,想自学,昨天想编一个程序大概是这样的:假设有50个人,当每次选到k时,将该人挑出,直到剩下一个人,输出结果。我看书,想用数组实现,但是没成功,下面是我的程序,希望大家帮我看看,该怎么改...
小妹在这里谢谢高手门了~~~~
class choose1
{
public static void main(String []args)
{
int k=(int) Math.random()*100; //随机产生一个k
int[] choose=new int[51];
int flag=0,count=0;
System.out.println("When the number of "+k+" will be chooseen!");
for(int i=1;i<choose.length;i++)
choose[i]=1;
print(choose); //输出函数
while(flag!=1)
{
change(choose,k);
for(int t=1;t<choose.length;t++)
{
if(choose[t]==1)
{
count++;
}
if(count>1)
flag=0;
else
flag=1;
}
print(choose);
}
print(choose);
}
public static void change(int[] choose,int k)
{
int j=1,p=0,i=1;
while(j<=choose.length)
{
//i=1;
for(;i<=k;i++)
{
if(choose[j]==0)
{
i--;
j++;
p=1;
}
if(p!=1)
j++;
if(i==k)
{
choose[j-1]=0;
i=1;
break;
}
p=0;
}
}
}
public static void print(int[] choose)
{
for(int i=1;i<choose.length;i++)
System.out.println("num["+i+"]="+choose[i]);
}
}