简体   繁体   English

爪哇。 尝试仅计算正数的平均值,如果未输入正数,也会显示一条消息

[英]Java. Trying to calculate average of positive numbers only, also displaying a message if no positive numbers are entered

I am trying to do an exercise and cannot figure out how to calculate the average of positive numbers only and also how to display a certain message if no positive numbers are entered.我正在尝试做一个练习,但无法弄清楚如何仅计算正数的平均值,以及如何在未输入正数的情况下显示特定消息。 I want the message to be displayed only if there are no positive numbers entered.我希望只有在没有输入正数时才显示消息。 Thank you谢谢

import java.util.Scanner;

public class AverageOfPositiveNumbers {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int entries = 0;
        Double average = 0.0;
        Double sum = 0.0;


        while (true) {
            int number = Integer.valueOf(scanner.nextLine());
            if (number == 0) {
                System.out.println(average);
                break;
            }
            if (number > 0) {

                entries = entries + 1;
                average = sum / entries;
                sum = sum + number;
            }
            if (number < 0) {
                System.out.println("Cannot calculate the average.");
            }

        }

    }
}

You only need two variables to determine the average.您只需要两个变量来确定平均值。 The number of elements (a count ) and the sum of the positive values.元素的数量( count )和正值的总和。 Calculate the average once you are done getting the elements.完成获取元素后计算平均值。 Something like,就像是,

Scanner scanner = new Scanner(System.in);
int count = 0;
int sum = 0;
while (true) {
    int number = Integer.parseInt(scanner.nextLine());
    if (number == 0) {
        break;
    } else if (number > 0) {
        count++;
        sum += number;
    }
}
if (count > 0) {
    System.out.printf("The average is %.2f%n", sum / (double) count);
} else {
    System.out.println("Cannot calculate the average.");
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM