Java使用while循环打印小于输入的完美正方形

时间:2015-02-24 03:02:06

标签: java

这是一项我坚持的家庭作业,也许有人可以帮助我:

“使用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一样。我想也许有办法让它只打印输入值以下的结果,但我不知道该怎么做。可能有一种更简单的方法来完成整个过程,但到目前为止我还没有想到它。

1 个答案:

答案 0 :(得分:0)

你反过来会让事情变得更复杂(令人惊讶的是这种情况经常出现这种情况)。最简单的方法是开始将循环递增为0,并在循环内每次递增1。

由于这是作业,我将留给你弄清楚如何退出循环 - 但是如果你从0开始递增而不是从你想要的最高值递减,那就很简单了。如果你还有问题,请留言。

或者,如果需要从最高到最低;您可以使用Math.sqrt来检查根是否是整数(提示提示)。