【问题标题】:Subtracting 1 from count before getting average在取平均值之前从计数中减去 1
【发布时间】:2020-07-06 10:48:47
【问题描述】:

下面是我编写的代码,用于给出最大和最小整数,同时还可以找到输入整数的平均值。我的问题是在找到平均值时它正在计算负数。我需要它不计算负数。也许从计数中减去一个?还是 if else 语句?

导入 java.util.Scanner;

公共类 LargeSmallAverage {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int smallest, largest, sum, count;
    sum = 0;
    count = 0;
    System.out.println("Please enter a series of positive numbers. Enter a negative number to exit program.");

    int positive = in.nextInt();
    smallest = largest = positive;

    while (positive > 0) 
    {
        if (smallest > positive) 
            smallest = positive;

        if (largest < positive) 
            largest = positive;


        sum = sum + positive;
        count++;
        positive = in.nextInt();

    }

double average = sum / count;

    System.out.println("The smallest number entered was " + smallest);
    System.out.println("The largest number entered was " + largest);
    System.out.println("The average of all positive numbers entered is " + average);
}

}

输出:

请输入一系列正数。输入负数退出程序。 2 20 10 5 10 2 -5 输入的最小数字是 2 输入的最大数字是 20 输入的所有正数的平均值为 8.0

【问题讨论】:

    标签: java


    【解决方案1】:
      double average = ((double) sum) / count;
    

    您使用了整数除法 49 / 6 = 8。

    【讨论】:

    • 哇!!谢谢你。我没有抓住那个简单的错误,我的教授也没有。非常感谢!!!
    猜你喜欢
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2011-05-19
    • 1970-01-01
    • 2016-07-07
    相关资源
    最近更新 更多