java输入未指定个整数,判断正数有几个,负数有几个,并计算这些数的和及平均值,输入0时结束输入,且0不计数,平均数以double型数据显示
时间: 2024-10-10 12:14:11 浏览: 25
在Java中,你可以通过Scanner类从用户那里获取输入,然后遍历数组来达到这个目标。以下是一个简单的示例程序:
```java
import java.util.Scanner;
public class NumberCountAndAverage {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int positiveCount = 0;
int negativeCount = 0;
double totalSum = 0.0;
System.out.println("请输入数字(输入0结束):");
while (true) {
double number = scanner.nextDouble();
if (number == 0) {
break; // 输入0时跳出循环
} else if (number > 0) {
positiveCount++;
totalSum += number;
} else if (number < 0) {
negativeCount++;
totalSum -= number; // 负数对总和有相反的影响
}
}
double average = totalSum / (positiveCount + Math.abs(negativeCount)); // 计算平均值,忽略0
System.out.println("正数有 " + positiveCount + " 个,负数有 " + negativeCount + " 个,它们的和是 " + totalSum);
System.out.printf("平均值是 %.2f", average); // 显示两位小数的平均值
}
}
```
在这个程序中,我们首先创建一个Scanner对象,然后提示用户输入数字。如果用户输入的是0,我们就退出循环;如果是正数,增加正数计数并加到总和上;如果是负数,增加负数计数,并从总和中减去它(因为负数会减少总和)。最后,我们计算平均值,记得排除零。
阅读全文