java - 使用 while 循环倒数并找到平方根
问题描述
如何使用while
循环以平方根倒数输入数字?
例如,如果我要运行代码并将第一个数字设置为 8,它将得到 8..7..6.. 的平方根,依此类推。
到目前为止,以下是我的代码;现在,我只得到第一个数字的平方根:
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int start;
int i;
System.out.print("Enter a positive integer: ");
start = scnr.nextInt();
if (start < 0) {
System.out.print("Error, enter a positive integer");
} else {
for(i = start; i != 0; i--); {
double sqrt = Math.sqrt(start);
start--;
System.out.printf("%,4f", sqrt);
}
}
}
解决方案
这应该做你想要的:
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
推荐阅读
- corda - 如何在corda上显示创建的流
- android - TextField 未在 Android 上返回时提交
- redis - Lettuce core redis blpop 带来 Type mismatch Can't assign non-array value to an array
- sql - 如何使用基于id的sql server中的列获取行值
- nginx - 使用nginx重定向动态请求
- wordpress - update_post_meta 不适用于 save_post_{post-type}
- php - Laravel查找或失败尝试获取非对象的属性
- html - 输入日期时自动连字符,输入类型日期,Angular 5
- python - 如何在 python 中使用遗传算法实现聚类过程?
- c# - 正确使用 MouseDragElementBehavior