[英]How to calculate average from an arraylist only "calculating the positive numbers while ignoring the negatives)?
[英]Java. Trying to calculate average of positive numbers only, also displaying a message if no positive numbers are entered
我正在尝试做一个练习,但无法弄清楚如何仅计算正数的平均值,以及如何在未输入正数的情况下显示特定消息。 我希望只有在没有输入正数时才显示消息。 谢谢
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.");
}
}
}
}
您只需要两个变量来确定平均值。 元素的数量( count
)和正值的总和。 完成获取元素后计算平均值。 就像是,
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.