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这个条件");
        }
    }
}
相关推荐
csdn_aspnet19 分钟前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法
Felven22 分钟前
C. Brr Brrr Patapim
c语言·开发语言
小科先生32 分钟前
Java springboot调用数据库的基本流程
java·数据库·spring boot
赤生云电竞42 分钟前
GPU算力共享平台架构实践:任务分发与资源隔离的关键配置
算法·架构·gpu算力
秋饼1 小时前
GPT-Live 全双工语音 API Java 服务端落地实战:事件协议、会话恢复与生产踩坑
java·ai·技术分享·后端开发
SL_staff1 小时前
为什么企业级自动化不能只靠AI编排?——逻辑引擎在确定性业务场景中的不可替代性
java·开源·产品
路溪非溪2 小时前
python标准库使用总结
开发语言·python
青少儿编程课堂2 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:折半搜索优化子集枚举(Meet in the Middle)解析
c++·python·算法·bfs·信息学竞赛
Pniubi3 小时前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
SomeOtherTime3 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust