05-java基础——循环习题

news2024/12/23 13:43:47

循环的选择:知道循环的次数或者知道循环的范围就使用for循环,其次再使用while循环

猜数字

  • 程序自动生成一个1-100之间的随机数,在代码中使用键盘录入去猜出这个数字是多少?
    • 要求:使用循环猜,一直猜中为止。
  • 思路分析:
    • 1-100之间的随机数(random函数)
    • 一直猜中为止:不知道猜测多少次才中(循环的次数不确定)
public class guess {
    public static void main(String[] args) {
//        程序自动生成一个1-100之间的随机数,在代码中使用键盘录入去猜出这个数字是多少?
            //要求:使用循环猜,一直猜中为止。

        Random random = new Random();
//        int number = random.nextInt(100);
//       表示随机生成一个0-99的数

//        随机生成一个1-100的数
        int number = random.nextInt(100)+1;
        Scanner scanner = new Scanner(System.in);
//        不知道循环的次数或者不知道循环的范围,可以使用while循环
        while (true){
            System.out.println("输入猜测的数字:");
            int i = scanner.nextInt();
//            猜对了就跳出循环,猜不对继续猜
            if (i > number){
                System.out.println("你猜的数字大了");
            }else if (i < number){
                System.out.println("你猜的数字小了");
            }else {
                System.out.println("你猜对了");
                break;
            }
        }
    }
}

逢7过

  • 游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过

    • 需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据
  • 分析:

    • 1-100之间的数字:知道了循环的范围——使用for循环
    • 数字满足包含7或者是7的倍数就输出过(写出这个条件的判断语句即可)
public class fengqiguo {
    public static void main(String[] args) {
       /*
       逢7过:
        游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过
        需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据
        */
        for(int i = 1; i<= 100 ; i++){
//           排除7的倍数:i%7 ==0;
//           排除十位上的数是7的:i /10%10 == 7;(i/10可以得出十位上的数,再%10就是判断是否符合规则)
//            排除个位上是7的:i%10 == 7;
            if (i % 7 == 0 || i /10%10 == 7 || i % 10 == 7 )
            {
//                包含7或者是7的倍数时就输出过,并跳出循环
                System.out.println("过");
                continue; // 跳过当前循环
            }
//            不包含7或者是7的倍数时就正常输出数字
            System.out.println(i);
        }
    }
}

回文数的判断

在这里插入图片描述

  • 思路分析:
    • 算出倒序的数,然后与原来的数比较
public class huiwenshu {
    public static void main(String[] args) {
        int x=12291;
        int temp = x;
        int num = 0;
        while(x != 0){
//            拿到最左边的数字
            int a = x%10;
//            把原来的数去掉最左边一位
            x = x/10;
//         计算倒序的数
            num = num * 10 + a;
        }
//        比较判断
        if (num == temp){
            System.out.println("是回文数");
        }else {
            System.out.println("不是回文数");
        }
    }
}

计算一个数的平方根

  • 需求:键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。结果只保留整数部分 ,小数部分将被舍去 。
  • 利用循环实现
    • 思路:利用列举法找出规律:
      • 1的平方=1
      • 2的平方=4
      • 3的平方=9
      • 4的平方=16
import java.util.Scanner;

public class pingfanggen {
    public static void main(String[] args) {
//        	键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。
//        	结果只保留整数部分 ,小数部分将被舍去 。

        Scanner scanner = new Scanner(System.in);
        System.out.print("录入的数字:");
        int number = scanner.nextInt();
        for (int i = 1;i <= number-1 ;i++){
            //从1开始循环,拿着数字的平方跟原来的数字进行比较
            //如果小于number,那么继续往后判断
            if (i * i == number){
                //如果相等,那么当前数字就是平方根
                System.out.println("number 的平方根是" + i);
                break;
            }else if (i * i > number){
                //如果大于的,那么前一个数字就是平方跟的整数部分
                System.out.println("number 的平方根的整数部分是" + (i-1));
                break;
            }
        }

    }
}

  • 使用java的工具类实现
    • 在Java中,你可以使用Scanner类来从键盘获取输入,然后使用Math.sqrt()函数来计算平方根
    • 由于Math.sqrt()返回的是一个double类型的值,你可以使用类型转换或者Math.floor()、(int)来舍去小数部分,只保留整数部分。
import java.util.Scanner;  
  
public class SquareRootExample {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
  
        // 提示用户输入一个大于等于2的整数  
        System.out.print("请输入一个大于等于2的整数: ");  
        int x = scanner.nextInt();  
  
        // 检查输入是否大于等于2  
        while (x < 2) {  
            System.out.println("输入的数字小于2,请重新输入: ");  
            x = scanner.nextInt();  
        }  
  
        // 计算平方根并只保留整数部分  
        double sqrt = Math.sqrt(x);  
        int result = (int) sqrt; // 或者使用 Math.floor(sqrt) 但在这里结果是一样的,因为sqrt是正的  
  
        // 输出结果  
        System.out.println("整数部分的平方根是: " + result);  
  
        // 关闭Scanner  
        scanner.close();  
    }  
}

判断一个数是否为质数

  • 需求: 键盘录入一个正整数 x ,判断该整数是否为一个质数。
    • 思路:理解什么是质数,然后根据质数的特征进行代码的编写
import java.util.Scanner;

public class zishu {
    public static void main(String[] args) {
//        键盘录入一个正整数 x ,判断该整数是否为一个质数。

//质数:质数(也称为素数)是大于1的自然数,并且除了1和它本身以外不再有其他因数的数。换句话说,质数只有两个正因数:1和它本身。
//如果一个整数只能被1和本身整除,那么这个数就是质数。否则这个数叫做合数

//7 = 1 * 7 质数,13也是质数
//8 = 1 * 8  2 * 4 合数
        Scanner scanner = new Scanner(System.in);
        System.out.print("录入数字:");
        int number = scanner.nextInt();

    //定义一个变量,表示标记
    //标记着number是否为一个质数
    //true: 是一个质数
    //false : 不是一个质数
    //表示最初就认为number是一个质数
        boolean flag = true;

//        2是最小的质数
//        注意:当number=2的时候,是不符合i< number的条件的,所以没有进入循环语句
        for (int i=2 ; i<number;i++){
            if (number % i == 0){
                flag = false;
                break;
            }
        }
        if (!flag){
            System.out.println("这个数不是质数");
        }else {
            System.out.println("这个数是质数");
        }

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1860460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态规划数字三角形模型——AcWing 1015. 摘花生

动态规划数字三角形模型 定义 动态规划数字三角形模型是在一个三角形的数阵中&#xff0c;通过一定规则找到从顶部到底部的最优路径或最优值。 运用情况 通常用于解决具有递推关系、需要在不同路径中做出选择以达到最优结果的问题。比如计算最短路径、最大和等 注意事项 …

OCR的有效数据增强

背景 我面临着需要尽可能准确识别手写金额的挑战。难点在于保持误判率低于0.01%。由于数据集中样本数量固定&#xff0c;因此数据增强是合乎逻辑的选择。快速搜索未发现针对光学字符识别&#xff08;OCR&#xff09;的现成方法。因此&#xff0c;我挽起袖子&#xff0c;亲自创建…

数据挖掘案例-商品零售购物篮分析

数据挖掘案例-商品零售购物篮分析 1. 背景与挖掘目标 现代商品种类繁多&#xff0c;顾客往往会由于需要购买的商品众多而变得疲于选择&#xff0c;且顾客并不会因为商品选择丰富而选择购买更多的商品。 例如&#xff0c;货架上有可口可乐和百事可乐&#xff0c;若顾客需要选…

「全新升级,性能更强大——ONLYOFFICE 桌面编辑器 8.1 深度评测」

文章目录 一、背景二、界面设计与用户体验三、主要新功能亮点3.1 高效协作处理3.2 共同编辑&#xff0c;毫无压力3.3 批注与提及3.4 追踪更改3.5 比较与合并3.6 管理版本历史 四、性能表现4.1 集成 AI 工具4.2 插件强化 五、用户反馈与使用案例 一、背景 Ascensio System SIA -…

服务器数据恢复—raid故障导致部分分区无法识别/不可用的数据恢复案例

服务器数据恢复环境&#xff1a; 一台某品牌DL380服务器中3块SAS硬盘组建了一组raid。 服务器故障&#xff1a; RAID中多块磁盘出现故障离线导致RAID瘫痪&#xff0c;其中一块硬盘状态指示灯显示红色。服务器上运行的数据库在D分区&#xff0c;备份文件存放在E分区。由于RAID瘫…

Git之checkout/reset --hard/clean -f区别(四十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

生命在于学习——Python人工智能原理(4.4)

三、Python的数据类型 3.2 Python的组合数据类型 特点&#xff1a;表示多个元素的组合&#xff0c;可以包含不同类型的元素&#xff0c;甚至是其他的组合数据类型。 在内存中通常需要额外的空间来存储元素间的关系。 组合数据类型能够将多个同类型或不同类型的数据组织起来&a…

Centos+Jenkins+Maven+Git 将生成的JAR部署到远程服务器上

1、登录 没有安装的参考下面的安装步骤先安装: Jenkins安装手册 输入账号、密码登录系统。 2、新建任务 2.1 创建页面 1,“输入一个任务名称”; 2,任务类型点击“构建一个maven项目”; 3,点击“确定”,此时,构建任务创建完成。 2.2 General 1、描述:输入要部署…

热电发电机越来越受到研发关注

热电发电机 (TEG) 利用热量&#xff08;或更准确地说&#xff0c;温差&#xff09;和众所周知的塞贝克效应来发电。它们的应用范围从收集可用热能&#xff0c;尤其是在工业和其他情况下“浪费”的热能&#xff0c;到在放射性同位素热发电机 (RTG) 中使用航天器的放射性电源作为…

day45--RocketMQ(三)

1. 高级功能 1.1 消息存储 分布式队列因为有高可靠性的要求&#xff0c;所以数据要进行持久化存储。 消息生成者发送消息MQ收到消息&#xff0c;将消息进行持久化&#xff0c;在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者&#xff0c;然后等待消费者返回A…

离镜头5cm也能拍清?Pura 70 超聚光微距如何做到“贴脸拍摄”?

虽然微距摄影在手机上已经算不得什么新鲜的功能&#xff0c;但要把微距摄影拍出高质量的效果&#xff0c;还是具有挑战性的。 众所周知&#xff0c;在微距摄影领域&#xff0c;镜头离被拍摄物品越近&#xff0c;照片的解析力和细节就越突出。但对于器件来讲&#xff0c;对焦距离…

年入百万不是梦?小米汽车员工晒收入,揭秘行业高薪背后的真相!

近日&#xff0c;社交媒体上出现了一位小米汽车员工的“凡尔赛”发言&#xff0c;其晒出的收入水平引发了网友们的热议。 这份令人艳羡的薪资条&#xff0c;也让“小米汽车待遇”迅速登上了热搜榜。究竟是什么样的魔力&#xff0c;让这家造车新势力能够开出如此优渥的条件&…

linux与windows环境下qt程序打包教程

一、演示环境 qt5.14.2 二、Linux 2.1 关联依赖文件 2.1.1 下载打包工具 在Windows环境下可以使用 Qt Creator自带的官方工具进行打包&#xff0c;而Linux环境下没有官方工具&#xff0c;需要借助第三方工具才能打包。如&#xff1a;linuxdeployqt、CQtDeployer、AppImage…

薄冰英语语法学习--名词1-不规则的

昨天学了&#xff0c;规则的&#xff0c;就是加es&#xff0c;或者变y为i加es&#xff0c;以及加s,还有变f和fe为v加es 今天学不规则。不规则就是完全没有规则&#xff0c;和s和es没有关系。就写死了告诉你&#xff0c;这个词的复数就是这样写。要硬背的。 首先来自古代英语的…

【数据结构与算法】最短路径,Floyd算法,Dijkstra算法 详解

Floyd算法 for (int k 0; k < n; k) {for (int i 0; i < n; i) {for (int j 0; j < n; j) {if (d[i][k] ! INF && d[k][j] ! INF) {d[i][j] min(d[i][j], d[i][k] d[k][j]);}}} }Dijkstra算法&#xff08;基于最小堆&#xff09; void dijkstra(int st…

篮球联盟管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;球员管理&#xff0c;用户管理&#xff0c;球队管理&#xff0c;论坛管理&#xff0c;篮球资讯管理&#xff0c;基础数据管理 前台账户功能包括&#xff1a;系统首页&#xff0…

零基础STM32单片机编程入门(二)GPIO详解及驱动LED灯实战含源码视频

文章目录 一.概要二.STM32F103C8T6单片机GPIO口特点二.STM32单片机GPIO内部结构图三.单片机GPIO推挽输出信号流向四.单片机GPIO浮空输入信号流向四.单片机GPIO引脚的复用以及重映射五.CubeMX配置一个GPIO输出驱动LED灯例程六.CubeMX工程源代码下载七.讲解视频链接地址八.小结 一…

集成了工作流引擎的办公系统,直接开发OA,ERP,mes,srm,hrm(源码)

前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;一套完整并且实际运用在多套项目中的案例&#xff0c;满足日常业务流程审批需求。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器&#xff0c;流行的前后端…

基于Java超市库存管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

线上OOM问题排查总结

自己搭建了一个小博客&#xff0c;该文章与博客文章同步。 一般情况下&#xff0c;出现OOM主要有一下三种原因。 一次性申请对象的太多。更改申请对象数量。内存资源耗尽未释放。找到未释放的对象进行释放。本身资源不够。jmap -heap 查看堆信息。 分几种情况解决&#xff1…