写一个JAVA程序,已知三个学生:张三、李四、王五;三门课:语文、数学、英语。 程序要实现的功能是让用户输入这三个学生这三门课的成绩,分别求出三人的平均分以及三科的平均分,在屏幕上输出。
时间: 2024-11-25 21:17:52 浏览: 8
java自我介绍代码两种方式源码详解
下面是一个简单的Java程序,它实现了您描述的功能:
```java
import java.util.Scanner;
class Student {
String name;
double[] scores = new double[3]; // 代表语文、数学、英语三科成绩
public Student(String name) {
this.name = name;
}
void inputScores() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入" + name + "的三门课程成绩:");
for (int i = 0; i < 3; i++) {
scores[i] = scanner.nextDouble();
}
scanner.close();
}
double getAverageScore() {
return Arrays.stream(scores).average().orElse(Double.NaN); // 返回平均分,若无数据则返回NaN
}
}
public class Main {
public static void main(String[] args) {
Student zhangSan = new Student("张三");
Student liSi = new Student("李四");
Student wangWu = new Student("王五");
zhangSan.inputScores();
liSi.inputScores();
wangWu.inputScores();
double subjectAverage = calculateSubjectAverage(zhangSan.scores, liSi.scores, wangWu.scores);
double studentAverageZhang = zhangSan.getAverageScore();
double studentAverageLi = liSi.getAverageScore();
double studentAverageWang = wangWu.getAverageScore();
System.out.println("张三的平均分为: " + studentAverageZhang);
System.out.println("李四的平均分为: " + studentAverageLi);
System.out.println("王五的平均分为: " + studentAverageWang);
System.out.println("各科平均分为: " + subjectAverage);
}
private static double calculateSubjectAverage(double[] zhang, double[] li, double[] wu) {
double total = 0;
for (double score : zhang) {
total += score;
}
for (double score : li) {
total += score;
}
for (double score : wu) {
total += score;
}
int count = zhang.length;
return total / count;
}
}
```
在这个程序中,我们首先创建了`Student`类,包含姓名和成绩数组。然后在`main`函数中创建了三个学生对象并分别输入他们的成绩。最后计算每个学生的平均分和所有科目的一般平均分,并将结果打印出来。
阅读全文