JAVA之求平方根

需求:键盘录入一个大于等于2的整数x,计算并返回x的平方根

结果只保留整数部分,小数部分将被舍去。

java 复制代码
import java.util.Scanner;

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

        // 创建Scanner对象,用于从键盘接收用户输入
        Scanner sc = new Scanner(System.in);
        // 提示用户输入一个整数,并读取输入的值
        int num = sc.nextInt();
        if(num>=2){
            // 使用for循环从1开始遍历到num(包含num)
            for (int i = 1; i <= num; i++) {
                // 情况1:如果当前数字i的平方等于目标数字num
                // 说明i就是num的精确平方根
                if (i * i == num) {
                    // 输出精确的平方根结果
                    System.out.println(i + "就是" + num + "的平方根");
                    // 找到精确平方根后立即退出循环,避免不必要的继续计算
                    break;
                }
                // 情况2:如果当前数字i的平方第一次大于目标数字num
                // 说明num的平方根在i-1和i之间,由于只保留整数部分,所以取i-1
                else if (i * i > num) {
                    // 输出平方根的整数部分(即i-1)
                    System.out.println((i - 1) + "就是" + num + "的平方根整数部分");
                    // 找到平方根整数部分后立即退出循环
                    break;
                }
                // 情况3:如果i*i < num,循环继续,检查下一个数字
                // 这种情况不需要特殊处理,循环会自动继续
            }
            // 循环结束后,scanner对象使用完毕,可以关闭以释放资源
            sc.close();
        }else{
            System.out.println("输入的整数不符合大于等于2这个条件");
        }
    }
}
相关推荐
tangguofeng7 小时前
不带头结点的链队操作集(不含InitFlag)(C语言版)
算法
weixin_440730508 小时前
函数return、参数、参数组、递归函数、高阶函数等小结
开发语言·python
sugarzhangnotes8 小时前
【无标题】
开发语言·人工智能·python
geovindu8 小时前
rust: Composite Pattern
开发语言·后端·设计模式·rust·组合模式
苏打豆9 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
用户1305180712159 小时前
JDBC学习DAY2:从Statement到PreparedStatement
java
蛋蛋的就会顺顺的9 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
老歌老听老掉牙9 小时前
麻花钻切屑形态演变的力学机制与临界条件分析
python·算法·钻头
周杰偷奶茶9 小时前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言
zhangfeng113310 小时前
国产GPU/AI算力芯片现状(修订完整版 · 截至2026年9月
人工智能·算法·ai编程·npu