public class Test4 {
public static void main(String[] args) {
boolean s[]= new boolean[15];//定义一个boolean类型的数组
int a=s.length;//长度为15
for (int i = 0; i
2.定义两个变量来表示报数和猴子下标
//定义一个变量用来1-7的报数
int count=0;
//定义一个变量用来表示猴子从从1到15的下标
int i=0;
3.定义一个循环,当猴子数只有一个的时候这只猴子就是猴王
while(a>1){//定义一个循环,当猴子数只有一个的时候这只猴子就是猴王
}
4.在循环里面对报数为7的猴子赋值为false
while(a>1){//定义一个循环,当猴子数只有一个的时候这只猴子就是猴王
if(s[i]){
count++;
if(count==7){//当报数到7的时候将这只猴子的值赋值为false
s[i]=false;//将报数到7的猴子的值赋值为false
a--;
count=0;
}
}
i++;
if(i==15){//当猴子下标到15后重新从0开始
i=0;
}
}
注意:
在这里将这段代码放在if判断外是因为在遇到s[i]为false的时候下标也要改变,放在上面if里面由于s[i]值为false进不去判断语句所以下标不改变,会陷入死循环
5.将最后剩的一只猴子打印输出下标,即可得出第几只猴子为猴王for (int j = 0; j输出为(j+1) 是因为下标是从0开始的,猴子是从第一只开始报数的。
暑期编程PK赛 得CSDN机械键盘等精美礼品!



