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这个条件");
        }
    }
}
相关推荐
微笑尅乐10 分钟前
洗牌算法讲解——力扣384.打乱数组
算法·leetcode·职场和发展
Lei_33596711 分钟前
[算法]背包DP(01背包、完全背包问题、多重背包、分组背包、混合背包问题、有依赖的背包问题等)
c++·算法
一 乐11 分钟前
汽车销售|汽车推荐|基于SprinBoot+vue的新能源汽车个性化推荐系统(源码+数据库+文档)
java·数据库·vue.js·汽车·毕设·汽车个性化推荐
uesowys13 分钟前
华为OD算法开发指导-比赛的冠亚季军
算法·华为od
天选之女wow13 分钟前
【代码随想录算法训练营——Day48】单调栈——42.接雨水、84.柱状图中最大的矩形
算法·leetcode
不知名。。。。。。。。14 分钟前
算法之动态规划
算法·动态规划
虾说羊17 分钟前
最细Maven教程以及Maven私服搭建
java·数据库·maven
杯莫停丶21 分钟前
设计模式之:装饰器模式
java·设计模式·装饰器模式
lingchen190628 分钟前
MATLAB图形绘制基础(一)二维图形
开发语言·算法·matlab
hlpinghcg33 分钟前
(全闭环)FUNC_FullCloseLoop
算法·电机·电机控制