public class spaceX {
private static long n = 100;
private static long k = 7;
public static void main(String[] args){
if((args != null)&&(args.length != 0)){
n = Long.parseLong(args[0]);
if(args.length > 2){
k = Long.parseLong(args[1]);
}
}
LinkedList<Long> list = new LinkedList<Long>();
/* 初始化链表 */
for(long i = 1; i<=n; i++){
list.add(i);
}
long index = 0;//链表索引
long j = 0;//报数
long count = 0;//出列了多少个
while(index < n - count){
//报数
j ++;
//出列
if(j == k){
j = 0;
//全部出列,返回
if(count == n - 1){
System.out.print("The survival:\t");
System.out.println(list.get(0));
return ;
}
System.out.println(list.get((int)index));
list.remove((int)index);
index --;
count ++;
}
//下一个
index++;
//一圈完毕,从头开始重新遍历
if(index == n -count){
index = 0;
}
}
}
}
运行命令
java -classpath spaceX-1.0-SNAPSHOT.jar com.spaceX 7 7