Java Program to Check if a Given Number is Perfect Square2025年3月17日 | 阅读 7 分钟 在本节中,我们创建了多个Java 程序来检查给定的数字是否是完全平方数。 完全平方数或平方数是指一个正整数是另一个整数的平方。换句话说,当我们把两个相同的数字相乘时,得到的乘积就是完全平方数。简而言之,它是两个正整数相等相乘的积,或一个整数与自身相乘的积。 完全平方数的特性是它只以0, 1, 4, 6, 9, 和 25 结尾。完全平方数的例子有 49=7*7 100=10*10 625=25*25 在 Java 中,我们可以通过以下方式检查一个数字是否为完全平方数。
使用 sqrt() 方法我们遵循的方法是:
让我们通过一个例子来理解上述步骤。 示例:检查数字 324 是否为完全平方数。
让我们在 Java 程序中实现上述步骤。 为了找到数字的平方根和向下取整值,我们使用了 **Java Math 类**的以下预定义方法。 sqrt(): 它是 Math 类的静态方法。我们可以直接通过类名调用它。它接受一个 double 类型的参数。如果传入负数或 NaN,它会返回 NaN。它返回 double 值的正平方根。 语法 floor(): 它也是 Math 类的静态方法。它计算数字的向下取整值。它接受一个 double 类型的参数。它返回小于或等于参数且等于数学整数的最大(最接近的正整数)浮点数值。 语法 在下面的示例中,我们创建了一个名为 checkPerfectSquare() 的用户定义方法。它接受一个 double 类型的参数。该方法包含检查数字是否为完全平方数的逻辑。 在该方法中,我们使用 **Math.sqrt()** 方法计算数字的平方根,并将其存储在一个名为 sqrt 的变量中。之后,我们使用 **Math.floor()** 方法找到计算出的平方根的向下取整值。同时,我们找到了 sqrt 和 floor 值之间的差值。将差值与 0 进行比较并返回一个 **Boolean** 值。 返回的值传递给调用方法(在 if 语句内)。如果差值为 0,则给定的数字是完全平方数,否则不是完全平方数。 CheckPerfectSquareExample1.java 输出 1 Enter any number: 8100 Yes, the given number is perfect square. 输出 2 Enter any number: 24 No, the given number is not perfect square. 使用用户定义逻辑在下面的示例中,我们没有使用 Java Math 类的任何预定义方法。我们实现了自己的逻辑来检查完全平方数。 CheckPerfectSquareExample2.java 输出 1 Enter a number: 121 Yes, the given number is perfect square. 输出 2 Enter a number: 121 No, the given number is not perfect square. 在下面的示例中,我们首先使用模运算符计算给定数字的余数。之后,我们使用逻辑 OR 运算符将余数与 2、3、7 和 8 进行比较,因为完全平方数永远不会以这些数字结尾。如果数字的余数为 2、3、7 或 8,则它不可能是完全平方数。 如果数字的余数为 0、1、4、6 和 9,则跳转到 for 循环。对于 i 的每次迭代,我们计算 i*i。如果 i 的平方等于输入的数字 (n),则该数字是完全平方数并返回 true,否则返回 false。 CheckPerfectSquareExample3.java 输出 1 Enter a number: 121 Is the number perfect square? true 输出 2 Enter a number: 167 Is the number perfect square? false 让我们看另一种逻辑。 CheckPerfectSquareExample4.java 输出 1 Enter a number: 121 121 is a perfect square. 输出 2 Enter a number: 143 143 is not a perfect square. 让我们看看另一个检查给定数字是否为完全平方数的逻辑。 在下面的程序中,我们对输入的数字取平方根,并将其强制转换为 int 类型。之后,我们对该值进行平方,看看它是否与给定的数字相同。如果它们等于该数字,我们就得到了一个完全平方数。 CheckPerfectSquareExample5.java 输出 1 Please enter an integer: 98 98 is not a perfect square number. 输出 2 Please enter an integer: 529 529 is a perfect square number. 让我们看另一个具有不同逻辑的示例。 在下面的示例中,我们采用了以下方法:
CheckPerfectSquareExample6.java 输出 50 is a perfect square number? false 361 is a perfect square number? true 下一个主题Java io 包 |
我们请求您订阅我们的新闻通讯以获取最新更新。