Java输入若干整数,如果输入0,输入即终止,判断输入的数中有多少正数,多少负数,及所有数的总和和平均数。平均数保留两位小数。如果只输入0,则输出No input。
时间: 2024-10-13 13:06:44 浏览: 35
在Java中,你可以使用Scanner类获取用户的输入,并遍历数组来计算正数、负数的数量以及它们的总和。以下是一个简单的示例程序:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int positiveCount = 0;
int negativeCount = 0;
int sum = 0;
double average = 0.0;
System.out.println("请输入整数(输入0结束):");
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
if (num > 0) {
positiveCount++;
sum += num;
} else if (num < 0) {
negativeCount++;
sum += num;
}
// 如果用户输入的是0,不需要再继续循环,跳出条件
if (num == 0) {
break;
}
}
// 检查是否只有0作为输入
if (positiveCount + negativeCount == 0) {
System.out.println("No input.");
} else {
average = (double) sum / (positiveCount + negativeCount);
System.out.printf("正数有%d个,负数有%d个,总和是%d,平均数是%.2f%n",
positiveCount, negativeCount, sum, average);
}
scanner.close(); // 关闭Scanner以释放资源
}
}
```
在这个程序中,我们首先创建一个Scanner对象,然后通过while循环读取用户的输入。每次读取一个整数,就检查它是否大于0(正数)、小于0(负数),并更新相应的计数和总和。当输入0时,跳出循环,然后根据输入的数计算平均值。最后,根据输入情况输出结果或提示"No input."。
阅读全文