【发布时间】:2020-01-24 22:56:43
【问题描述】:
所以我试图找出一组数字中的完美正方形。我声明了必要的变量,添加了一个 for 循环,添加了一个 sqroot = Math.sqrt(num) 和一个打印方法来列出数字。我想不通的是如何让程序在数字范围内挑选出完美的正方形,并找到它们的平均值?
这是我正在为一堂课做的作业,我已经坚持了一段时间了。如果这是一个愚蠢的问题,我对 Java 也很陌生,很抱歉。代码如下:
public class Test {
public static void main(String[] args) {
int num;
double sqroot = 0;
int sumPsq = 0; //sum variable
int psq = 0; //counter for perfect squares
double avg = 0;
for(num = 101; num <= 149; num += 2){
sqroot = Math.sqrt(num);
if(sqroot*sqroot == num){ //Condition to find perfect squares
psq += 1; //counting perfect squares
sumPsq = sumPsq + num; //Find the sum of all the perfect squares
System.out.println(num); //Print out the perfect squares
}
}
avg = 1.0 * sumPsq/psq;
System.out.println(avg);
}
}
这只是整个作业中的一部分代码,所以如果您需要更多代码,我非常愿意提供。谢谢!
【问题讨论】:
-
您可能应该将找到的完美方格放在一个列表中,或者将它们相加并记录有多少。
-
您的代码似乎完全按照您所说的去做,尽管这确实不是测试完美平方的最佳方法......
-
让我们开始分析问题:完美正方形的确切定义是什么?
-
@RoddyoftheFrozenPeas 如果这段代码得到了正确的答案,那只是偶然,因为 OP 从不四舍五入平方根。
标签: java perfect-square