当前位置: 首页 > news >正文

05-java基础——循环习题

循环的选择:知道循环的次数或者知道循环的范围就使用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.lryc.cn/news/382783.html

相关文章:

  • 网络安全等级保护测评
  • 真有被这套零售数据分析方案惊艳到
  • 亚马逊卖家为何需要自养账号?揭秘背后的原因
  • 牛了,LSTM+Transformer王炸结合创新,荣登Nature,精度高达95.65%
  • Java面试题:通过实例说明工厂模式和抽象工厂模式的用法,以及它们在解耦中的作用
  • 成都欣丰洪泰文化传媒有限公司电商服务的创新者
  • 学习笔记——动态路由——RIP(距离矢量协议)
  • 【python】OpenCV—Segmentation
  • python-题库篇-Python语言特性
  • WEB界面上使用ChatGPT
  • 【Matlab】CNN-LSTM分类 卷积神经网络-长短期记忆神经网络组合模型(附代码)
  • 性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
  • 【QT】QCustomPlot库中iSelectPlottables的使用
  • 字节跳动联手博通:5nm AI芯片诞生了?
  • 【数据结构与算法】动态查找表(二叉排序树,二叉平衡树)详解
  • PyTorch中“No module named ‘torch._six‘“的报错场景及处理方法
  • Spring Boot 集成 MinIO 实现文件上传
  • 目标跟踪——KCF源码用python实现
  • 前端 转换笔记
  • 个人开发笔记
  • pdf压缩,pdf压缩在线,pdf文件太大怎么变小
  • Go 如何使用指针灵活操作内存
  • 【面试干货】Java中的++操作符与线程安全性
  • NLP学习与踩坑记录(持续更新版)
  • Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别
  • 微信小程序常用标签及其用法
  • 开发查询订单信息fastGPT智能体工作流 将工作流接入到人工客服系统
  • Flink集群运行模式
  • XSS 安全漏洞介绍及修复方案
  • 基于STM32的智能仓库管理系统