要求用户输入数字,然后对它们进行计数并求平均值

asking the user to input numbers and then counting them and finding the average

我需要编写一个代码,让用户输入数字并将它们相加,显示正数、负数、零的数量,以及用户输入字母后输入的数字数量的计数 'e'.

但是当我输入 'e' 时,程序终止而不打印计数或平均值。

此外,平均值不起作用,因为它说我不能除以零。

    public static void main (String[] args){
        Scanner input = new Scanner(System.in);
        int negative = 0;
        int positive = 0;
        int zeroes = 0;
        int sum = 0;
        int count = 1;
        int average = sum / (count - 1);

         do{
                System.out.print("Enter a float or 'e' to exit");
                String entered = input.nextLine();
                if("e".equals(entered)){
                    //print stuff
                    break;
                }else{
                    int num;
                    try {
                        num = Integer.parseInt(entered);
                    } catch (NumberFormatException e) {
                        System.out.print(negative + positive + 
                    zeroes + sum + (count - 1) + average);
                        continue; // re-do the loop
                    }
                    if(num  < 0){ 
                        sum += num;
                        count++;
                        negative++;
                    }else if (num > 0){ 
                        sum += num;
                        count++;
                        positive++;
                    }else{//similar to comment above
                        sum += num;
                        count++;
                        zeroes++;
                    }

                }
            } while(true);   
    }
}

您缺少 "if" 条件下的印刷品。修改if条件如下

if("e".equals(entered)){
  //print stuff
   System.out.print(negative + positive + zeroes + sum + (count - 1) + average);
  break;
}

正如其他人评论的那样,您需要考虑像 "divide by zero" 这样的情况并处理输入验证。