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这个条件");
        }
    }
}
相关推荐
点云SLAM7 分钟前
四元数 (Quaternion)微分-四元数导数的矩阵表示推导(8)
线性代数·算法·计算机视觉·矩阵·机器人·slam·四元数
我的golang之路果然有问题12 分钟前
mac配置 unity+vscode的坑
开发语言·笔记·vscode·macos·unity·游戏引擎
铅笔小新z29 分钟前
【C++】从理论到实践:类和对象完全指南(上)
开发语言·c++
rainFFrain35 分钟前
qt显示类控件---QCalendarWidget
开发语言·qt
kyle~40 分钟前
算法---贪心算法(Greedy Algorithm)
算法·贪心算法
戴誉杰44 分钟前
idea 2025.2 重置试用30天,无限期使用
java·ide·intellij-idea
fashion 道格1 小时前
C 语言数组拼接:从基础实现到细节优化
算法
蓁蓁啊1 小时前
ARM交叉编译中编译与链接参数不一致导致的问题
开发语言·arm开发·嵌入式硬件
go_bai1 小时前
Linux-线程
linux·开发语言·c++·经验分享·笔记
咖啡の猫1 小时前
Python中的输出函数
开发语言·数据库·python