Java 实例 检查给定数字是否为完美平方

在本教程中,我们将编写一个 java 程序到,检查给定的数字是否为完美平方

Java 示例:检查数字是否是完美平方

在这个程序中,我们创建了一个用户定义的方法checkPerfectSquare(),它接受一个数字作为参数,如果数字是完美的正方形则返回true,否则返回false

在用户定义的方法中,我们使用Math类的两种方法,sqrt()方法和floor()方法。Math.sqrt()方法找到给定数字的平方根,floor()方法找到sqrt()方法返回的平方根值的最接近整数。后来我们计算了这两者之间的差异,以检查差异是零还是非零。对于完美的平方数,这个差值应该为零,因为完美平方数的平方根本身就是整数。

package com.beginnersbook;
import java.util.Scanner;
class JavaExample { 

    static boolean checkPerfectSquare(double x)  
    { 

    // finding the square root of given number 
    double sq = Math.sqrt(x); 

    /* Math.floor() returns closest integer value, for
     * example Math.floor of 984.1 is 984, so if the value
     * of sq is non integer than the below expression would
     * be non-zero.
     */
    return ((sq - Math.floor(sq)) == 0); 
    } 

    public static void main(String[] args)  
    { 
    System.out.print("Enter any number:");
    Scanner scanner = new Scanner(System.in);
    double num = scanner.nextDouble(); 
    scanner.close();

    if (checkPerfectSquare(num)) 
        System.out.print(num+ " is a perfect square number"); 
    else
        System.out.print(num+ " is not a perfect square number"); 
    } 
}

输出:

Java 实例 检查给定数字是否为完美平方

赞(0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    我实在忍不住想问。可以将解决思路或逻辑先写出来吗?而不是说怎样写代码。很多是不知道检查数字是否是完美正方形的数学逻辑,并非是如何写代码。

    mianmian1年前 (2020-03-06)回复

Java 实例