java - 我该如何解决这个程序

标签 java loops

实现一个以 int 数字为参数的静态方法,使用 Math 类计算给定整数的整数平方根。如果整数为负数,则取正数的平方根,然后返回结果的负数,表示它是虚数

我尝试并到达这里

Scanner in = new Scanner(System.in);
int j = 1, result = 1;

System.out.println("Enter a number : ");
int x = in.nextInt();

if (x == 0 || x == 1 ) 
{
  System.out.println("Square root = " + x);
  return;
}

while (result <= x) 
{
  j++;
  result = j * j;
}

System.out.println("Square root = " + (j - 1));

最佳答案

这是您要找的吗?我们找到数字的平方根并确保输入数字为正数。 Math.abs 将求绝对值。如果输入为负数,则返回结果为负数,否则返回平方根。

    static int result(int input) {
        int result = (int) Math.sqrt(Math.abs(input));

        return input < 0 ? -result : result;
    }

关于java - 我该如何解决这个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61409582/

相关文章:

java - 使用 while 循环验证字符串输入

C - fork() & execl() & 循环 + "half pyramid output"

java - 如何根据值对 HashMap 的元素进行排序?

java - 如何在安全模块 Play 1.2.5 中硬编码用户名和密码

java - 从 Groovy 类创建 Spring bean 导致 "cannot find symbol error"

具有不同参数的 get 函数的 R 循环

java - 使用 POIFSFileSystem 读取 xlsx 文件

java - 从 google play developer rest api 访问编辑方法

R:循环自定义 dplyr 函数

javascript - 为什么数组将一个空数组插入另一个数组?