学生成绩录入与保存功能要求:编写控制台主界面,根据提示初始化学生成绩:至少输入五个同学的学号,姓名,成绩(应用数学、大学英语、Java 程序设计、计算机网络),保存形成学生成绩信息写入一个 student.txt文件中保存。Java
时间: 2024-03-23 08:41:46 浏览: 56
好的,这是一个关于学生成绩录入与保存的功能要求,需要编写控制台主界面并实现相应功能。以下是实现该功能的基本步骤:
1. 创建一个 Student 类,用于存储学生的信息,包括学号、姓名、成绩等属性。可以为每个属性设置相应的 get 和 set 方法,以便在程序中进行访问和修改。
2. 在主界面中,提供相应的选项,以便用户选择录入学生成绩或者退出程序。如果用户选择录入学生成绩,则需要依次输入每个学生的学号、姓名和成绩信息,并将其保存到一个 Student 对象中。
3. 在录入学生成绩的过程中,可以使用 Scanner 类来实现从控制台读取用户输入的功能。对于每个学生,可以创建一个新的 Student 对象,并将其添加到一个 ArrayList 中,以便后续保存到文件中。
4. 在保存学生成绩时,可以将 ArrayList 中的每个 Student 对象转换成一行文本,然后将所有文本写入一个 student.txt 文件中。可以使用 FileWriter 类来实现写文件的功能。
下面是一个简单的 Java 代码示例,用于实现上述功能要求:
```java
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
int option = -1;
while (option != 0) {
System.out.println("请选择操作:");
System.out.println("1. 录入学生成绩");
System.out.println("0. 退出程序");
option = scanner.nextInt();
switch (option) {
case 1:
Student student = new Student();
System.out.print("请输入学号:");
student.setNumber(scanner.next());
System.out.print("请输入姓名:");
student.setName(scanner.next());
System.out.print("请输入应用数学成绩:");
student.setMathScore(scanner.nextDouble());
System.out.print("请输入大学英语成绩:");
student.setEnglishScore(scanner.nextDouble());
System.out.print("请输入Java程序设计成绩:");
student.setJavaScore(scanner.nextDouble());
System.out.print("请输入计算机网络成绩:");
student.setNetworkScore(scanner.nextDouble());
students.add(student);
break;
case 0:
try {
FileWriter writer = new FileWriter("student.txt");
for (Student s : students) {
writer.write(s.getNumber() + ","
+ s.getName() + ","
+ s.getMathScore() + ","
+ s.getEnglishScore() + ","
+ s.getJavaScore() + ","
+ s.getNetworkScore() + "\n");
}
writer.close();
System.out.println("学生成绩保存成功!");
} catch (IOException e) {
System.out.println("学生成绩保存失败!");
}
break;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
}
}
class Student {
private String number;
private String name;
private double mathScore;
private double englishScore;
private double javaScore;
private double networkScore;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getMathScore() {
return mathScore;
}
public void setMathScore(double mathScore) {
this.mathScore = mathScore;
}
public double getEnglishScore() {
return englishScore;
}
public void setEnglishScore(double englishScore) {
this.englishScore = englishScore;
}
public double getJavaScore() {
return javaScore;
}
public void setJavaScore(double javaScore) {
this.javaScore = javaScore;
}
public double getNetworkScore() {
return networkScore;
}
public void setNetworkScore(double networkScore) {
this.networkScore = networkScore;
}
}
```
在上述代码中,我们创建了一个 Main 类作为程序的入口,并在其中实现了录入学生成绩和保存学生成绩的功能。同时,我们还定义了一个 Student 类,用于存储每个学生的信息。在录入学生成绩时,我们使用了 Scanner 类来从控制台读取用户输入的信息,并将每个学生的信息保存到一个 ArrayList 中。在保存学生成绩时,我们将 ArrayList 中的每个 Student 对象转换成一行文本,并将所有文本写入一个 student.txt 文件中。如果保存成功,则输出保存成功的提示信息,否则输出保存失败的提示信息。
阅读全文