| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 794 人关注过本帖
标题:求助JAVA题目
只看楼主 加入收藏
力哥wl
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-11-1
收藏
 问题点数:0 回复次数:9 
求助JAVA题目

用JAVA做:12个人排成一圈,从一号报数,凡是书到5的人就走出队伍,然后继续报数,试问最后一人出局的是谁
      有懂的帮帮小弟我啊 谢谢大哥门啊

搜索更多相关主题的帖子: JAVA 
2006-11-01 19:18
shenba
Rank: 1
等 级:新手上路
威 望:1
帖 子:179
专家分:0
注 册:2006-9-17
收藏
得分:0 

这是c语言里的经典练习题 到c语言的论坛看看吧


2006-11-01 19:19
chengyihang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-10-30
收藏
得分:0 
你可以利用数组做,把每个出局做个标记,利用循环做.
2006-11-01 20:38
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-11-01 21:10
力哥
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-10-27
收藏
得分:0 
有懂的能写出来看看吗
2006-11-02 08:20
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
不是给了你链接了吗

可惜不是你,陪我到最后
2006-11-02 09:15
cgw213
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-10-31
收藏
得分:0 

import java.awt.*;
import java.awt.event.*;
public class EvenetTest
{
public static void main(String args[])
{
Frame fr=new Frame("事件测试");
ButtonListener aa=new ButtonListener();
//生成事件处理(监听)对象
Button b1=new Button("测试");
Button b2=new Button("退出");
//生成两个按钮
b1.addActionListener(aa);
b2.addActionListener(aa);
//将事件源两个按钮注册给事件处理对象aa
fr.setLayout(new FlowLayout());
fr.add(b1);
fr.add(b2);
//将按钮加入Frame
fr.resize(200,200);
fr.show();

}
}
class ButtonListener implements ActionListener
//由于按钮源是按钮,实现监听者是ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="测试");
{
System.out.println("按下按钮");

}
else
{
System.exit(0);

}
}

}


2006-11-02 09:26
cgw213
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-10-31
收藏
得分:0 
提示 有错误 请问哪里出错了啊  大虾们

2006-11-02 09:27
cgw213
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-10-31
收藏
得分:0 
不好意思多了个 ;  找到了

2006-11-02 09:29
孤风的边缘
Rank: 1
等 级:新手上路
威 望:2
帖 子:66
专家分:0
注 册:2006-11-19
收藏
得分:0 

刚看到这个帖子,赶快写了个程序,不过因为系工作之余写的,程序有点烂~不过绝对可以用,呵呵,楼主表介意~

package com.gufengdebianyuan;

import java.util.ArrayList;


/**
* 12个人排成一圈,从一号报数,凡是书到5的人就走出队伍,然后继续报数,
* 试问最后一人出局的是谁?
* 约瑟夫环问题
*/
public class Queue {

private ArrayList list;

public Queue(){
list = new ArrayList();

list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
list.add("i");
list.add("j");
list.add("k");
list.add("l");
}

//链表数大于5
public void circle(ArrayList temp){
ArrayList temp2 = new ArrayList();
for(int i=0;i<4;i++){
temp2.add(temp.get(i));
}
for(int i=0;i<5;i++){
temp.remove(0);
}

unite(temp,temp2);
}

//链表数不大于5
public void circle2(ArrayList give){
ArrayList temp = new ArrayList();
temp = (ArrayList)give.clone();

while(true){
unite(temp,temp);

if(temp.size()>5) break;
}

for(int i=0;i<give.size();i++){
if(give.get(i).equals(temp.get(4)))
give.remove(i);
}
}


public ArrayList unite(ArrayList a,ArrayList b){
int w = a.size();
int y = b.size();
for(int i=0;i<b.size();i++){
a.add((String)b.get(i));

if(a.size() == (w+y)) break;
}
return a;
}


public static void main(String[] args){
Queue queue = new Queue();
while(true){
queue.circle(queue.list);
if(queue.list.size()<=5) break;
}

queue.list.remove(queue.list.size()-1);

while(true){
queue.circle2(queue.list);

if(queue.list.size()==1) break;

}

System.out.println("最后一个出局的是"+queue.list.get(0)+"同学~");

}

}


把爱留给爱你的人。。。。
2006-11-19 15:22
快速回复:求助JAVA题目
数据加载中...
 
   



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

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