栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA 练习题(5)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA 练习题(5)

猴王问题: 15个猴子围成一圈选大王,依次1-7循环报数,报到7的猴子被淘汰,直到最后一只猴子称为大王,问:哪只猴子会成为大王? 分析:1.定义一个boolean类型的数组,用来存储这15只猴子,并遍历数组将数组的值赋为true(因为boolean类型的值默认为false)
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机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016936.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号