StudentDao
package com.igek.Dao;
import com.igek.Data.Database;
public class StudentDao {
private Database database;
public StudentDao(Database database)
{
this.database = database;
}
public Database getDatabase() {
return database;
}
}
Database
package com.igek.Data;
import com.igek.pojo.Student;
import java.util.ArrayList;
public class Database {
public ReaderWriter rw = new ReaderWriter();
public ArrayList list = new ArrayList<>();
public Database() {
ArrayList<String> list1 = rw.reader();
for (String s : list1) {
String student[] = s.split(" ");
list.add(new Student(Integer.parseInt(student[0]), student[1], student[2],
Double.parseDouble(student[3]), Double.parseDouble(student[4]),
Double.parseDouble(student[5]), Double.parseDouble(student[6]),
Double.parseDouble(student[7]), Integer.parseInt(student[8])));
}
}
public Database(ArrayList<Student> list) {
this.list = list;
}
/**
* 保存信息
*/
public void save() {
ArrayList<String> list1 = new ArrayList<>();
for (Student s : list) {
String s1 = s.getId() + " " + s.getName() + " " + s.getMajor() + " " + s.getMath_grade() + " " +
s.getEnglish_grade() + " " + s.getJava_grade() + " " + s.getCpp_grade() + " " +
s.getAll_grade() + " " + s.getSort();
list1.add(s1);
}
rw.writer(list1);
}
}
ReaderWriter
package com.igek.Data;
import java.io.*;
import java.util.ArrayList;
public class ReaderWriter {
public BufferedReader br;
public BufferedWriter bw;
public File file = new File(“E:/student.txt”);
public ReaderWriter() {
}
public ArrayList<String> reader() {
ArrayList<String> list = new ArrayList<>();
//创建字符缓冲输入流
try {
br = new BufferedReader(
new InputStreamReader(new FileInputStream(file)));
String line = null;
while ((line = br.readLine()) != null) {
list.add(line);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public boolean writer(ArrayList<String> list) {
try {
bw = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(file)));
for (String s : list) {
bw.write(s);
bw.newLine();
}
bw.close();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
Main
package com.igek.main;
import com.igek.system.StudentSystem;
import com.igek.Data.Database;
/**
- 创建其他类的对象,调用这些对象的方法。
*/
public class Main {
public static void main(String[] args) {
Database database = new Database();
StudentSystem studentService = new StudentSystem(database);
studentService.start();
}
}
Student
private double all_grade;
private int sort;
public Student() {
}
public Student(int id, String name, String major, double 语文_grade,
double 数学_grade, double 英语_grade, double 物理_grade,
double all_grade, int sort) {
this.id = id;
this.name = name;
this.major = major;
this.语文_grade = 语文_grade;
this.数学_grade = 数学_grade;
this.英语_grade = 英语_grade;
this.物理_grade = 物理_grade;
this.all_grade = all_grade;
this.sort = sort;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public double getMath_grade() {
return 语文_grade;
}
public void setMath_grade(double 语文_grade) {
this.语文_grade = 语文_grade;
}
public double getEnglish_grade() {
return 数学_grade;
}
public void setEnglish_grade(double 数学_grade) {
this.数学_grade = 数学_grade;
}
public double getJava_grade() {
return 英语_grade;
}
public void setJava_grade(double 英语_grade) {
this.英语_grade = 英语_grade;
}
public double getCpp_grade() {
return 物理_grade;
}
public void setCpp_grade(double 物理_grade) {
this.物理_grade = 物理_grade;
}
public void setAll_grade() {
this.all_grade = this.语文_grade + this.数学_grade + this.英语_grade + this.物理_grade;
}
public double getAll_grade() {
return all_grade;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student that = (Student) o;
return id == that.id &&
Double.compare(that.语文_grade, 语文_grade) == 0 &&
Double.compare(that.数学_grade, 数学_grade) == 0 &&
Double.compare(that.英语_grade, 英语_grade) == 0 &&
Double.compare(that.物理_grade, 物理_grade) == 0 &&
Double.compare(that.all_grade, all_grade) == 0 &&