使用while循环倒数并找到平方根

时间:2020-10-15 20:30:01

标签: java

如何使用square.c循环以平方根倒数输入数字?

例如,如果我运行代码并将第一个数字设为8,它将得到8..7..6 ..的平方根,依此类推。

到目前为止,我的代码如下;现在,我只得到第一个数字的平方根:

while

3 个答案:

答案 0 :(得分:2)

这应该做您想要的:

    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        System.out.print("Enter a positive integer: ");
        int start = scnr.nextInt();
        if (start < 0) {
            System.out.print("Error, enter a positive integer");
        } else {
            while (start !=0) {
                double sqrt = Math.sqrt(start);
                System.out.printf("%d: %,4f\n", start, sqrt);
                start--;
            }
        }
    }

输出

Enter a positive integer: 36
36: 6.000000
35: 5.916080
34: 5.830952
33: 5.744563
32: 5.656854
31: 5.567764
30: 5.477226
29: 5.385165
28: 5.291503
27: 5.196152
26: 5.099020
25: 5.000000
24: 4.898979
23: 4.795832
22: 4.690416
21: 4.582576
20: 4.472136
19: 4.358899
18: 4.242641
17: 4.123106
16: 4.000000
15: 3.872983
14: 3.741657
13: 3.605551
12: 3.464102
11: 3.316625
10: 3.162278
9: 3.000000
8: 2.828427
7: 2.645751
6: 2.449490
5: 2.236068
4: 2.000000
3: 1.732051
2: 1.414214
1: 1.000000

答案 1 :(得分:1)

如果您想实现为while循环

int i = start;
while(i >= 0){
   //your variable i is decrementing not start, so Math.sqrt(i)

  double sqrt = Math.sqrt(i);
  System.out.println(sqrt);
  i--;
}

答案 2 :(得分:0)

这里有一个针对ya的解决方案,我也修复了缩进。您的if语句后有分号,使之无用。我按照您的要求实现了while循环,该循环将显示数字,然后显示其平方根,每次迭代减少1。让我知道它是如何工作的。

public static void main(String[] args) {
    Scanner scnr = new Scanner(System.in);
    int start;
    System.out.print("Enter a positive integer: ");
    start = scnr.nextInt();
    if (start < 0) {
        System.out.print("Error, enter a positive integer");
    }
    while (start > 0) {
        double sqrt = Math.sqrt(start);
        System.out.println(start + " - " + sqrt);
        start--;
    }
}
相关问题