java中:从键盘上输入十个成绩(0-100之间的float类型数据)存放在数组score中,计算平均值并找出有多少个成绩在平均值以下。
时间: 2024-11-05 12:34:55 浏览: 3
C语言实现从文件读入一个3*3数组,并计算每行的平均值
5星 · 资源好评率100%
在Java中,你可以通过Scanner类获取用户的键盘输入,并使用for循环遍历数组来实现这个功能。以下是一个简单的步骤描述:
1. 首先,创建一个浮点型数组`score`,长度设置为10,用于存储成绩。
```java
float[] score = new float[10];
```
2. 使用`Scanner`类从用户处获取输入,然后将分数添加到数组中。这里需要注意检查输入是否在0-100之间。
```java
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("请输入第 " + (i+1) + " 个成绩(0-100之间):");
while (!scanner.hasNextFloat() || scanner.nextFloat() < 0 || scanner.nextFloat() > 100) {
System.out.println("输入错误,请确保在0-100之间!");
scanner.next(); // 清除上一次无效输入
}
score[i] = scanner.nextFloat();
}
```
3. 计算平均值,可以使用数组元素之和除以元素个数。
```java
float sum = 0;
for (float scoreValue : score) {
sum += scoreValue;
}
float average = sum / score.length;
```
4. 最后,统计平均分以下的成绩数量。如果成绩小于等于平均分,则计数加一。
```java
int countBelowAverage = 0;
for (int i = 0; i < score.length; i++) {
if (score[i] <= average) {
countBelowAverage++;
}
}
```
完整代码示例:
```java
public class Main {
public static void main(String[] args) {
float[] score = new float[10];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("请输入第 " + (i+1) + " 个成绩(0-100之间):");
while (!scanner.hasNextFloat() || scanner.nextFloat() < 0 || scanner.nextFloat() > 100) {
System.out.println("输入错误,请确保在0-100之间!");
scanner.next();
}
score[i] = scanner.nextFloat();
}
float sum = 0;
for (float scoreValue : score) {
sum += scoreValue;
}
float average = sum / score.length;
int countBelowAverage = 0;
for (int i = 0; i < score.length; i++) {
if (score[i] <= average) {
countBelowAverage++;
}
}
System.out.printf("平均值是 %.2f%n", average);
System.out.println("有 %d 个成绩在平均值以下。", countBelowAverage);
}
}
```
阅读全文