Java - 在 while 循环和打印列表中递减变量
Java - decrement variable in while loop and print list
团队工资 = 600000
avgSalindivindiv = 20000
如果一个团队的预算是600000,每个人的平均工资是20000,一个团队可以雇佣多少人。
我想打印一个如下所示的列表:
0
1
2
3
...all the way to 30
这是我目前无法运行的代码:
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
while(teamsalary >= 0) {
System.out.println(numofpeople);
teamsalary = teamsalary - (numofpeople * avgSalindiv);
numofpeople++;
break;
}
我看到你的逻辑中唯一明显的问题是下面一行:
teamsalary = teamsalary - (numofpeople * avgSalindiv);
在这里,你减去平均工资乘以 运行 总人数,这是没有意义的。相反,您想在循环的每次迭代中减去相同的平均值 avgSalindiv
。请尝试改用此代码:
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
while (teamsalary >= 0) {
System.out.println(numofpeople);
teamsalary -= avgSalindiv;
++numofpeople;
}
尝试像这样删除 break
:
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
while (teamsalary >= 0) {
System.out.println(numofpeople);
teamsalary = teamsalary - (numofpeople * avgSalindivindiv);
numofpeople++;
}
您不能使用 teamsalary = teamsalary - (numofpeople * avgSalindiv);
,因为这会在第一次减去 0,第二次减去 20000,第三次减去 40000,等等。您只想每次减去 20000(对于每个添加的人).您还需要保持变量名称一致。 (您同时使用了 avgSalindivindiv
和 avgSalindiv
)
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
System.out.println(numofpeople);
// subtracting avgSalindivindiv here prevents loop from running an extra time
while((teamsalary-=avgSalindivindiv) >= 0) {
numofpeople++;
System.out.println(numofpeople);
}
输出:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
团队工资 = 600000 avgSalindivindiv = 20000
如果一个团队的预算是600000,每个人的平均工资是20000,一个团队可以雇佣多少人。
我想打印一个如下所示的列表:
0
1
2
3
...all the way to 30
这是我目前无法运行的代码:
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
while(teamsalary >= 0) {
System.out.println(numofpeople);
teamsalary = teamsalary - (numofpeople * avgSalindiv);
numofpeople++;
break;
}
我看到你的逻辑中唯一明显的问题是下面一行:
teamsalary = teamsalary - (numofpeople * avgSalindiv);
在这里,你减去平均工资乘以 运行 总人数,这是没有意义的。相反,您想在循环的每次迭代中减去相同的平均值 avgSalindiv
。请尝试改用此代码:
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
while (teamsalary >= 0) {
System.out.println(numofpeople);
teamsalary -= avgSalindiv;
++numofpeople;
}
尝试像这样删除 break
:
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
while (teamsalary >= 0) {
System.out.println(numofpeople);
teamsalary = teamsalary - (numofpeople * avgSalindivindiv);
numofpeople++;
}
您不能使用 teamsalary = teamsalary - (numofpeople * avgSalindiv);
,因为这会在第一次减去 0,第二次减去 20000,第三次减去 40000,等等。您只想每次减去 20000(对于每个添加的人).您还需要保持变量名称一致。 (您同时使用了 avgSalindivindiv
和 avgSalindiv
)
int teamsalary = 600000;
int avgSalindivindiv = 20000;
int numofpeople = 0;
System.out.println(numofpeople);
// subtracting avgSalindivindiv here prevents loop from running an extra time
while((teamsalary-=avgSalindivindiv) >= 0) {
numofpeople++;
System.out.println(numofpeople);
}
输出:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30