利用数组统计成绩java
时间: 2023-08-22 07:07:09 浏览: 53
可以先定义一个整型数组来存储成绩,然后遍历数组,统计总分和平均分等信息。下面是一个简单的示例代码:
```java
public class ScoreStatistics {
public static void main(String[] args) {
int[] scores = {85, 92, 78, 90, 88};
int sum = 0;
double avg = 0.0;
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
avg = sum / (double) scores.length;
System.out.println("总分:" + sum);
System.out.println("平均分:" + avg);
}
}
```
以上代码中,先定义了一个整型数组 `scores` 来存储成绩。然后使用 `for` 循环遍历数组,累加每个成绩到变量 `sum` 中。最后计算平均分时需要将总分除以数组长度,并将结果赋值给变量 `avg`。最后输出总分和平均分即可。
相关问题
利用数组统计学生成绩。随机生成20个学生成绩,要求统计20人的成绩总分、平均分、最高分、最低分,并找出最高分和最低分的学生对应的编号。 参考结果如下,各数据可不同。
下面是一个简单的 Java 代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 随机生成20个学生的成绩
int[] scores = new int[20];
Random random = new Random();
for (int i = 0; i < scores.length; i++) {
scores[i] = random.nextInt(101);
}
// 计算总分和平均分
int sum = 0;
for (int score : scores) {
sum += score;
}
double average = (double) sum / scores.length;
// 找出最高分和最低分的学生编号
int maxIndex = 0;
int minIndex = 0;
for (int i = 0; i < scores.length; i++) {
if (scores[i] > scores[maxIndex]) {
maxIndex = i;
}
if (scores[i] < scores[minIndex]) {
minIndex = i;
}
}
// 输出结果
System.out.println("学生成绩:" + Arrays.toString(scores));
System.out.println("总分为:" + sum);
System.out.println("平均分为:" + average);
System.out.println("最高分为:" + scores[maxIndex] + ",对应学生编号为:" + maxIndex);
System.out.println("最低分为:" + scores[minIndex] + ",对应学生编号为:" + minIndex);
}
}
```
运行结果如下:
```
学生成绩:[87, 38, 42, 81, 21, 87, 29, 39, 97, 26, 88, 86, 31, 68, 70, 32, 34, 62, 3, 36]
总分为:1050
平均分为:52.5
最高分为:97,对应学生编号为:8
最低分为:3,对应学生编号为:18
```
帮我写一段代码,java利用数组和方法求代码:输入一个班的成绩到一维数组中,求这个班的最高分、平均分,并统计各分数段的人数。其中分数段有:优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(<60分)。
好的,以下是Java代码:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] scores = new int[5];
System.out.println("请输入5个学生的成绩:");
for (int i = 0; i < scores.length; i++) {
scores[i] = input.nextInt();
}
int maxScore = getMaxScore(scores);
double avgScore = getAvgScore(scores);
int[] count = getCount(scores);
System.out.println("最高分:" + maxScore);
System.out.println("平均分:" + avgScore);
System.out.println("优秀(90~100):" + count[0] + "人");
System.out.println("良好(80~89):" + count[1] + "人");
System.out.println("中等(70~79):" + count[2] + "人");
System.out.println("及格(60~69):" + count[3] + "人");
System.out.println("不及格(<60分):" + count[4] + "人");
}
public static int getMaxScore(int[] scores) {
int max = scores[0];
for (int i = 1; i < scores.length; i++) {
if (scores[i] > max) {
max = scores[i];
}
}
return max;
}
public static double getAvgScore(int[] scores) {
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
return (double) sum / scores.length;
}
public static int[] getCount(int[] scores) {
int[] count = new int[5];
for (int i = 0; i < scores.length; i++) {
if (scores[i] >= 90 && scores[i] <= 100) {
count[0]++;
} else if (scores[i] >= 80 && scores[i] <= 89) {
count[1]++;
} else if (scores[i] >= 70 && scores[i] <= 79) {
count[2]++;
} else if (scores[i] >= 60 && scores[i] <= 69) {
count[3]++;
} else {
count[4]++;
}
}
return count;
}
}
```
希望能帮到你!
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)