java练习:定义一个学生类 Student,包含属性name, age, id,性别,创高跑步公里数distance。设置每个属性的getter/setter方法,定义一个班级类,包含属性班级名称,学院等属性,班级的所有学生都存储在里面(49人)。-把班级班级成员写入要一个txt文件中,每个学生占一行,每个属性逗号分割。例如:姓名:张三,学号:111,...姓名:李四,学号:112,...-从txt文件重新读取然后把班级成员写入要一个csv文件中(Excel)
时间: 2024-03-10 16:46:03 浏览: 71
好的,我可以帮您解决这个问题。这是一个比较典型的Java类和文件读写操作问题。
首先我们需要定义一个学生类:
```java
public class Student {
private String name; // 姓名
private int age; // 年龄
private String id; // 学号
private String gender; // 性别
private double distance; // 创高跑步公里数
// 构造函数
public Student(String name, int age, String id, String gender, double distance) {
this.name = name;
this.age = age;
this.id = id;
this.gender = gender;
this.distance = distance;
}
// getter/setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public double getDistance() {
return distance;
}
public void setDistance(double distance) {
this.distance = distance;
}
}
```
接下来定义一个班级类,其中包含班级名称、学院等属性,以及一个学生列表:
```java
import java.util.ArrayList;
import java.util.List;
public class Class {
private String name; // 班级名称
private String department; // 学院
private List<Student> students; // 学生列表
// 构造函数
public Class(String name, String department) {
this.name = name;
this.department = department;
this.students = new ArrayList<>();
}
// 添加学生
public void addStudent(Student student) {
students.add(student);
}
// 获取学生列表
public List<Student> getStudents() {
return students;
}
// getter/setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
}
```
现在我们可以创建一个班级对象,并添加学生信息:
```java
public class Main {
public static void main(String[] args) {
// 创建班级对象
Class cls = new Class("计算机科学与技术1班", "计算机学院");
// 添加学生信息
cls.addStudent(new Student("张三", 20, "201901", "男", 100.0));
cls.addStudent(new Student("李四", 21, "201902", "女", 95.0));
// ... 共添加49个学生
// 将学生信息写入txt文件
try {
FileWriter fw = new FileWriter("students.txt");
List<Student> students = cls.getStudents();
for (Student student : students) {
fw.write(student.getName() + "," + student.getAge() + "," + student.getId()
+ "," + student.getGender() + "," + student.getDistance() + "\n");
}
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
// 从txt文件中读取学生信息,并写入csv文件
try {
FileReader fr = new FileReader("students.txt");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("students.csv");
String line;
while ((line = br.readLine()) != null) {
String[] fields = line.split(",");
fw.write(fields[0] + "," + fields[1] + "," + fields[2] + "," + fields[3] + "," + fields[4] + "\n");
}
fr.close();
br.close();
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上代码中,我们先创建了一个班级对象,并添加了49个学生信息。然后将学生信息写入txt文件,每个学生占一行,每个属性逗号分割。接着从txt文件中读取学生信息,并写入csv文件,以逗号分隔每个属性,每个学生占一行,这样就可以导入到Excel中进行查看和编辑了。
希望这个例子能够帮助您理解Java类和文件读写操作的使用。
阅读全文