![](/img/trans.png)
[英]How do I find the closest perfect square less than the input, or the perfect square can be the input
[英]Java Print the perfect squares less than an input using a while loop
这是我坚持的家庭作业,也许有人可以帮助我:
“使用while循环编写一个程序,打印小于输入'n'的完美正方形。例如,如果n = 30,则打印25、16、9、4、2、1、0,”
import java.util.Scanner;
public class fourpointone {
public static void main(String[] args) {
int input, output;
System.out.println("Please enter an integer");
System.out.println();
Scanner num= new Scanner(System.in);
input = num.nextInt();
System.out.println();
while(input>=0){
System.out.println(Math.pow(input, 2));
--input;
}
System.out.println();
System.out.println("are the perfect squares less than your input");
}
}
它给了我输入平方以下的所有完美平方。 就像我输入 7 时得到的方块 49 一样。我想也许有一种方法可以只打印低于输入值的结果,但我不知道该怎么做。 可能有一种更简单的方法来完成整个事情,但到目前为止我还没有弄清楚。
反过来,您会使其变得更加复杂(令人惊讶的是,这种情况的频率如此之高)。 最简单的方法是从 0 开始递增循环,每次在循环内递增 1。
由于这是家庭作业,我将留给您弄清楚如何退出循环 - 但如果您从 0 开始递增,而不是从您想要的最高值递减,这非常简单。 尽管如果您仍然遇到问题,请发表评论。
或者,如果要求从最高到最低; 您可以使用Math.sqrt
检查根是否为整数(提示提示)。
Scanner sc = new Scanner (System.in);
int A = sc.nextInt();
int i =1;
while((i*i)<=A) {
System.out.print(i*i +" ");
i++;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.