这是一项我坚持的家庭作业,也许有人可以帮助我:
“使用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 :(得分:0)
你反过来会让事情变得更复杂(令人惊讶的是这种情况经常出现这种情况)。最简单的方法是开始将循环递增为0,并在循环内每次递增1。
由于这是作业,我将留给你弄清楚如何退出循环 - 但是如果你从0开始递增而不是从你想要的最高值递减,那就很简单了。如果你还有问题,请留言。
或者,如果需要从最高到最低;您可以使用Math.sqrt
来检查根是否是整数(提示提示)。