【发布时间】:2016-06-17 15:14:04
【问题描述】:
使用 Java Math 平方根方法计算 1 到 1,000 的平方根。仅输出整数。不要从计算平方开始,然后打印出该数字的平方根。计算所有平方根并确定它们是否为整数。
我查找了几个似乎围绕解决方案跳舞的答案,但没有一个如此简洁。这是我目前所拥有的。
public class Assignment9
{
public static void main(String[] args)
{
double root = 1;
double sqrt = Math.sqrt(root);
do
{
if(sqrt % 1 == 0)
{
System.out.printf("%.0f\t%.0f%n", root, Math.sqrt(root));
root++;
}
}
while(root <= 1000);
}
}
输出打印平方根,但不断四舍五入每个数字。我只想在每个完美正方形中打印一个数字(例如 1 1、4 2、9 3 等)。 我理解这个问题,但每次我运行程序时,我都会得到这个作为我的输出:
1 1
2 1
3 2
4 2
5 2
6 2
7 3
8 3
9 3
10 3
...
1000 32
【问题讨论】:
-
你的缩进怎么了?
-
因为你提前知道什么时候停止,所以使用 for 循环而不是 do..while。您将省去一个增量操作。
-
虽然这与您的问题无关,但是通过使用 for 和 while 循环比使用 do-while 循环更容易编码。它们使您可以更好地控制如何以更易于使用的格式进行迭代。
-
查看stackoverflow.com/questions/295579/… 以获取更多资源。
标签: java math perfect-square