import java.util.ArrayList;
import java.util.List;public class Seyorkfu { public static void main(String[] args) {
List<Person> list=new ArrayList();
int totalNum=80;//总人数:
int deadNum=0;//死亡人数
int index=0;//索引
int three=0;//是否可以杀了
/**
* 初始化...
*/
for(int i=0;i<totalNum;i++){
list.add(new Person(i));
}
/**
* 开始玩自杀...
*/
for(;;){
Person p= list.get(index);
/**
* 如果这个人是活的,那他还算一个;
*/
if(p.isLive()){
three++;
}
/**
* 如果他是第三个,对不起,自杀吧!
*/
if(three==3){
three=0;
p.selfKill();//自杀函数
deadNum++;//死亡人数增加一个;
System.out.println("Pserson num:"+p.getId()+" kill himself!");
}
/**
* 如果只剩下两个人啦,这两个人就是活下来的;
*/
if(deadNum>=totalNum-2){
break;
}
index++;//索引往前走,如果到最后那个,从新回到第一个;
if(index>=totalNum){
index=0;
}
}
for(int i=0;i<list.size();i++){
Person p=list.get(i);
if(p.isLive()){
System.out.println("num:"+p.getId()+" still alive!");
}
}
}
}
class Person { private boolean isLive;
private int id; public Person(int id) {
this.id = id;
this.setLive(true);
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public void setLive(boolean isLive) {
this.isLive = isLive;
} public boolean isLive() {
return isLive;
} public void selfKill() {
this.setLive(false);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货