为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的哨兵值不起作用,我可以输入无限的整数但什么也得不到?

为什么我的哨兵值不起作用,我可以输入无限的整数但什么也得不到?

慕盖茨4494581 2022-06-04 15:41:39
所以我正在尝试编写一个标记值为 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 的值永远不会改变。


查看完整回答
反对 回复 2022-06-04
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信