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这个条件");
        }
    }
}
相关推荐
摩西蒙7 小时前
计算机网络
开发语言·计算机网络·php
山峰哥7 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
执笔画流年呀7 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困7 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus8 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
wabs6668 小时前
关于图论【卡码网110.字符串迁移的思考】
数据结构·算法·图论
用户40966601317519 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
hanlin039 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
梅头脑9 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
久久学姐9 小时前
基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目
java·python·ai·转码·实战项目