编写一个java程序编写学生类Student提供表示学生的姓名和成绩的属性,创建五个学生对象,设计相应方法实现能够输入5个学生的姓名和成绩,判断学生成绩等级(优秀,良好,中等,及格,不及格)并计算各等级人数,编写测试类测试功能
时间: 2024-10-22 20:10:48 浏览: 39
首先,我们来定义一个名为`Student`的简单Java类,它包含姓名和成绩两个属性,并实现一些方法用于设置和获取这些信息,以及判断成绩等级:
```java
public class Student {
private String name;
private double score;
public Student(String name, double score) {
this.name = name;
this.score = score;
}
// Getter and Setter methods
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public double getScore() { return score; }
public void setScore(double score) { this.score = score; }
// Method to determine grade
public String getGrade() {
if (score >= 90) return "优秀";
else if (score >= 80) return "良好";
else if (score >= 60) return "中等";
else if (score >= 60) return "及格";
else return "不及格";
}
}
```
接下来,我们创建一个主类`Main`,在这个类中创建五个学生对象,输入他们的姓名和成绩,并统计各等级的人数:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> gradesCount = new HashMap<>();
gradesCount.put("优秀", 0);
gradesCount.put("良好", 0);
gradesCount.put("中等", 0);
gradesCount.put("及格", 0);
gradesCount.put("不及格", 0);
for (int i = 0; i < 5; i++) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第" + (i+1) + "名学生的姓名:");
String name = scanner.nextLine();
System.out.println("请输入第" + (i+1) + "名学生的成绩:");
double score = scanner.nextDouble();
Student student = new Student(name, score);
String grade = student.getGrade();
gradesCount.put(grade, gradesCount.get(grade) + 1);
}
gradesCount.forEach((grade, count) -> {
System.out.println("有 " + count + " 名学生被评为:" + grade);
});
}
}
```
这个程序会提示用户输入五名学生的姓名和成绩,然后统计每个成绩等级的学生人数。你可以通过运行`Main`类来测试这个功能。
阅读全文