所以我正在尝试编写一个标记值为 0 的代码。它提示用户输入数字,并找到所有输入数字的正负和总和。我不明白为什么在我输入标记值 0 后它不打印任何东西。我的 while 循环有问题吗?谢谢你 !我尝试了很多东西,但仍然看不到原因。package Csc220Study;import java.util.Scanner;public class S51 {public static void main(String [] args){ System.out.println(" enter an integer , the input ends if it is 0:"); Scanner input = new Scanner(System.in); int sum =0; int positives=0; int negatives=0; int count=0; int x = input.nextInt(); while(x!=0){ sum=+x; if(x<0){ negatives++; }else if(x>0){ positives++; } count++; } System.out.println("the sum is :"+sum); System.out.println("positive number here :"+positives); System.out.println("negative numbers are :"+negatives);
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
将您的 while 循环部分更改为:
int x = input.nextInt();
while(x!=0){
sum+=x;
if(x<0){
negatives++;
}else if(x>0){
positives++;
}
count++;
x = input.nextInt();
}
当您输入一个非零整数时,它处于无限循环中,因为 x 的值永远不会改变。
添加回答
举报
0/150
提交
取消