文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Java基础篇】逻辑控制练习题与猜数字游戏

2023-09-06 18:52

关注

作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

在这里插入图片描述


文章目录

1. if语句练习

判断一个年份是否为闰年

int year = 2000;if (year % 100 == 0) {    // 判定世纪闰年    if (year % 400 == 0) {        System.out.println("是闰年");   } else {        System.out.println("不是闰年");   }} else {    // 普通闰年    if (year % 4 == 0) {        System.out.println("是闰年");   } else {        System.out.println("不是闰年");   }}

2. while循环练习

1. 计算 5 的阶乘
5!= 5 * 4 * 3 * 2 * 1

int n = 1;int ret = 1;while(n <= 5){  ret = ret * n;  n++;  }  System.out.println(ret);

运行结果:
在这里插入图片描述
2. 计算 1! + 2! + 3! + 4! + 5!
我们基于上一题的代码,在写一个循环,使得可以求到5的阶乘,再把他们相加,代码如下所示:

  int k =1;  int sum = 0;  // 外层循环负责求阶乘的和  while(k <= 5) {     int n = 1;     int ret = 1;     // 里层循环负责完成求阶乘的细节.      while (n <= k) {        ret = ret * n;        n++;     }     k++;     sum = sum + ret;  }  System.out.println(sum);

运行结果:
在这里插入图片描述

3. for循环练习

1. 计算 5 的阶乘

int result = 1;for (int i = 1; i <= 5; i++) {    result *= i;}System.out.println("result = " + result);

运行结果:
在这里插入图片描述
2. 计算 1! + 2! + 3! + 4! + 5!

int sum = 0;for (int i = 1; i <= 5; i++) {    int tmp = 1;    for (int j = 1; j <= i; j++) {        tmp *= j;   }    sum += tmp;}System.out.println("sum = " + sum);

运行结果:
在这里插入图片描述

4.总结练习

1. 判定一个数字是否是素数
如果能够整除2~根号n之间所有的数,那么他就不是素数
在这里插入图片描述
代码演示:

public class TestDemo {    public static void main(String[] args) {        int n = 19;        int i = 2;        for (; i <=Math.sqrt(n) ; i++) {            if (n % i == 0){                break;            }        }        //有两种情况  1、 不符合循环条件 2、因为遇到了 break        if (i > Math.sqrt(n)){            System.out.println(n + " 是素数! ");        }    }}

运行结果:
在这里插入图片描述2. 打印 1 - 100 之间所有的素数

        for (int n = 1; n <= 100; n++) {            //int n = 9;            int i = 2;            for (; i <= Math.sqrt(n); i++) {                if(n % i == 0) {                    break;                }            }            //有几种情况 ? 2--》  1、 不符合循环条件 2、因为遇到了 break            if(i > Math.sqrt(n)) {                System.out.println(n + " 是素数! ");            }        }

打印结果:
在这里插入图片描述
3. 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数
本身,如: 153=13+53+3^3 ,则153是一个“水仙花数”。)

我们先来了解一下水仙花数是什么,如图所示:
在这里插入图片描述
常见的水仙花数:
在这里插入图片描述
代码演示:

         for (int i = 1; i <= 999999; i++) {            //i == 123            int count = 0;//记录位数            int tmp = i;            while (tmp != 0) {                tmp /= 10;                count++;            }            tmp = i;//123            int sum = 0;            while (tmp != 0) {                sum += Math.pow(tmp % 10, count);                tmp /= 10;            }            if (sum == i) {                System.out.println(i);            }        }

获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
代码演示:

int n = -1;int count = 0;while (n != 0) {     n = n & (n-1);     count++;}System.out.println(count);

5.猜数字游戏

 public class TestDemo {      public static void main(String[] args) {            Random random = new Random();            Scanner scanner = new Scanner(System.in);            int randNum = random.nextInt(101);//[0,101)             //50-100的随机数   random.nextInt(50)--[0,50)  + 50;            while(true){                   System.out.println("请输入你要猜的数字");                   int sum = scanner.nextInt();                   if(sum < randNum){                       System.out.println("猜小了");                   }else if(sum == randNum){                       System.out.println("猜对了");                       break;                    }else{                        System.out.println("猜大了");                     }           }      }}

运行结果:
在这里插入图片描述

关于【Java基础篇】逻辑控制练习题与猜数字游戏,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!💕💕

来源地址:https://blog.csdn.net/2201_75366661/article/details/130636914

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯