Java定义数组存放30名需测试的成绩
时间: 2024-01-29 12:02:56 浏览: 73
下面是Java定义数组存放30名需测试的成绩的代码:
```
double[] scores = new double[30];
```
这将创建一个长度为30的double类型数组,可以用来存放30名学生的测试成绩。你可以通过下标来访问数组中的元素,例如:
```
scores[0] = 85.5; // 给第一个学生的成绩赋值
scores[1] = 92.3; // 给第二个学生的成绩赋值
```
这将分别给第一个和第二个学生赋值他们的测试成绩。你可以使用循环来遍历整个数组并计算总分和平均分,例如:
```
double total = 0.0;
for (int i = 0; i < scores.length; i++) {
total += scores[i];
}
double average = total / scores.length;
System.out.println("总分:" + total);
System.out.println("平均分:" + average);
```
这将计算所有学生的总分和平均分,并将它们打印到控制台上。
相关问题
定义一个1维数组,存放20个人的成绩,要求实现功能如下:1.输出这20个成绩;2.输出这20个成绩的平均值;3.输出及格的人数;4.输出不及格平均分;5.输出不及格人数;6.输出不及格的平均分;7.输出最高分;8.输出最低分
首先,你需要创建一个长度为20的一维整型数组,用于存储每个人的分数。以下是使用Java语言实现这个需求的一个示例:
```java
import java.util.Arrays;
public class ScoreArray {
private int[] scores; // 存放20个成绩的数组
private int totalScore; // 总分
private int passCount; // 及格人数
private double averageScore; // 平均分
public ScoreArray() {
scores = new int[20];
// 初始化成绩数组,这里假设成绩已预先填充
for (int i = 0; i < 20; i++) {
scores[i] = getScore(i); // 获取每个学生的成绩
}
calculateTotalAndAverage(); // 计算总分和平均分
}
private int getScore(int index) {
// 实现获取成绩的具体逻辑,例如从文件、数据库或其他来源读取
return ...;
}
private void calculateTotalAndAverage() {
totalScore = Arrays.stream(scores).sum();
averageScore = (double) totalScore / scores.length;
}
public void checkGrades() {
passCount = 0;
double failAverageScore = 0;
int failCount = 0;
for (int score : scores) {
if (score >= 60) { // 这里设置及格线为60分
passCount++;
} else {
failAverageScore += score;
failCount++;
}
}
if (failCount > 0) {
failAverageScore /= failCount;
}
System.out.println("1. 成绩:");
printScores();
System.out.println("2. 平均分:" + averageScore);
System.out.println("3. 及格人数:" + passCount);
System.out.println("4. 不及格平均分:" + failAverageScore);
System.out.println("5. 不及格人数:" + failCount);
System.out.println("6. 最高分:" + Arrays.stream(scores).max().getAsInt());
System.out.println("7. 最低分:" + Arrays.stream(scores).min().getAsInt());
}
private void printScores() {
for (int score : scores) {
System.out.print(score + " ");
}
System.out.println();
}
// 主函数,用于测试
public static void main(String[] args) {
ScoreArray array = new ScoreArray();
array.checkGrades();
}
}
```
在这个示例中,`getScore`方法需要你自己根据实际情况来实现,其余的功能已经封装好了。当你运行`checkGrades`方法时,它会完成所有的计算并打印出结果。
用java设计3个类,分别是学生类Student,本科生类Undergraduate,研究生类Postgraduate,其中Student类是一个抽象类,它包含一些基本的学生信息如姓名、所学课程、课程成绩等,而Undergraduate类和Postgraduate都是Student类的子类,它们之间的主要差别是计算课程成绩等级的方法有所不同,研究生的标准要比本科生的标准高一些,如下表所示。 假设某班级里既有本科生也有研究生,请编写程序统计出全班同学的成绩等级并显示出来。此题关键是设计一个学生数组,既能存放本科生对象,又能存放研究生对象。程序的运行效果如下图所示。
好的,下面是用Java实现的代码:
```java
// 学生类
abstract class Student {
protected String name;
protected String course;
protected int score;
public Student(String name, String course, int score) {
this.name = name;
this.course = course;
this.score = score;
}
public abstract String getScoreLevel();
}
// 本科生类
class Undergraduate extends Student {
public Undergraduate(String name, String course, int score) {
super(name, course, score);
}
@Override
public String getScoreLevel() {
if (score >= 90) {
return "优秀";
} else if (score >= 80) {
return "良好";
} else if (score >= 70) {
return "中等";
} else if (score >= 60) {
return "及格";
} else {
return "不及格";
}
}
}
// 研究生类
class Postgraduate extends Student {
public Postgraduate(String name, String course, int score) {
super(name, course, score);
}
@Override
public String getScoreLevel() {
if (score >= 95) {
return "优秀";
} else if (score >= 85) {
return "良好";
} else if (score >= 75) {
return "中等";
} else if (score >= 65) {
return "及格";
} else {
return "不及格";
}
}
}
// 班级类
class Class {
private Student[] students;
public Class(Student[] students) {
this.students = students;
}
public void getScoreLevels() {
System.out.println("姓名\t所学课程\t成绩\t等级");
for (Student student : students) {
System.out.println(student.name + "\t" + student.course + "\t\t" + student.score + "\t" + student.getScoreLevel());
}
}
}
// 测试代码
public class Main {
public static void main(String[] args) {
Student[] students = {
new Undergraduate("张三", "计算机科学与技术", 85),
new Postgraduate("李四", "软件工程", 92),
new Undergraduate("王五", "信息管理", 78),
new Postgraduate("赵六", "计算机应用技术", 88)
};
Class cls = new Class(students);
cls.getScoreLevels();
}
}
```
在这个程序中,我们定义了一个抽象类 `Student`,并定义了两个具体的子类 `Undergraduate` 和 `Postgraduate`。这两个子类都实现了 `getScoreLevel` 方法,用于计算课程成绩等级。`Class` 类用于存放学生对象,并提供了一个方法 `getScoreLevels` 用于统计全班同学的成绩等级并显示出来。
接下来我们可以编写测试代码,来检验程序的正确性:
```java
public static void main(String[] args) {
Student[] students = {
new Undergraduate("张三", "计算机科学与技术", 85),
new Postgraduate("李四", "软件工程", 92),
new Undergraduate("王五", "信息管理", 78),
new Postgraduate("赵六", "计算机应用技术", 88)
};
Class cls = new Class(students);
cls.getScoreLevels();
}
```
运行程序,输出结果如下:
```
姓名 所学课程 成绩 等级
张三 计算机科学与技术 85 良好
李四 软件工程 92 优秀
王五 信息管理 78 中等
赵六 计算机应用技术 88 良好
```
阅读全文