| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 405 人关注过本帖
标题:结果出不来
只看楼主 加入收藏
leier
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-19
收藏
 问题点数:0 回复次数:3 
结果出不来
我刚接触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]);
}

}
搜索更多相关主题的帖子: 结果 
2006-10-19 13:16
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
用Vector&lt;Integer&gt;,找到一个,删除一下,直到它的size()为0为止

可惜不是你,陪我到最后
2006-10-19 13:18
leier
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-19
收藏
得分:0 
Vector<Integer>,找到一个,删除一下,直到它的size()为0为止

能解释一下吗?
我接触java实时间长,对java里面的类不清楚
谢谢 版主

2006-10-19 13:23
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
那就先去看看一些基础的东西吧
要记住,学习任何东西都要踏实,不能浮躁

可惜不是你,陪我到最后
2006-10-19 13:44
快速回复:结果出不来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018171 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved