"一个数组用于存储十个整数。编写Java程序确定并打印给定数组中既是平方数又是奇数的数字."
我的问题是如何确定数组中的数字是否为平方数。我尝试过这种方法,但结果不正确!
import java.math.*;
public class JavaApplication43 {
public static void main(String[] args) {
int[] no = {22, 44, 25, 89, 81, 55, 23, 25, 55};
for (int i = 0; i < no.length; i++) {
int x = no[i];
double y;
if (x % 2 != 0) {
y = Math.sqrt(x);
if (x == (Math.pow(y, 2)))
System.out.println(no[i]);
}
}
}
}
这是它给我的输出结果。
run:
25
81
55
25
55
55
也在其中,这意味着我使用的方法不成功!
y
是否为整数(即分数部分为0或由于精度问题至少非常小)。 - Thomas