Cần mọi người sửa code giúp mình. Có cách nào khác để viết hay không.
Sử dụng mảng để phát triển ứng dụng quản lý thông tin sinh viên
- Xác định lớp “Sinh viên” bao gồm:
- Thuộc tính:
- Mã sinh viên
- Họ và tên sinh viên
- Sinh viên năm sinh
- Tên lớp
- Điểm trung bình
- Phương pháp:
Bắt đầu các thuộc tính của lớp “Sinh viên”
Phương thức truy cập cần thiết (getters) và phương thức mutator (setters)
- Xác định lớp “StudentArray”. Mỗi phần tử trong danh sách có kiểu dữ liệu của lớp “Sinh viên” -
Phương pháp: + Thêm một sutdent vào mảng
- Tìm hiểu học sinh tương ứng với mã sinh viên được chỉ định
- Xóa học sinh tương ứng với mã sinh viên được chỉ định
- Xóa tất cả các sinh viên của lớp được chỉ định
- Kiểm tra xem học sinh đã nhập có thuộc lớp được chỉ định không
Nội dung:
+Student
package Student;
/**
*
* @author mmgf2
*/
public class Student {
private String code, name, className;
private int bYear;
private double averageGrade;
Student(){
code= name = className="";
bYear = 0;
averageGrade = 0;
}
public Student(String code, String name, int bYear, String className, double averageGrade) {
this.code = code;
this.name = name;
this.className = className;
this.bYear = bYear;
this.averageGrade = averageGrade;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getClassName() {
return className;
}
public int getBYear() {
return bYear;
}
public double getAverageGrade() {
return averageGrade;
}
public void setCode(String code) {
this.code = code;
}
public void setName(String name) {
this.name = name;
}
public void setClassName(String className) {
this.className = className;
}
public void setBYear(int bYear) {
this.bYear = bYear;
}
public void setAverageGrade(double averageGrade) {
this.averageGrade = averageGrade;
}
+StudentArray
package Student;
import java.util.ArrayList;
import Student.Student;
import java.io.File;
import java.io.PrintStream;
import java.util.Scanner;
/**
*
* @author mmgf2
*/
public class StudentArr1 {
private ArrayList<Student> studentArr;
public StudentArr1() {
this.studentArr = new ArrayList<>();
}
public void addStudent(String code, String name, int bYear, String className, double averageGrade) {
Student student = new Student(code, name, bYear, className, averageGrade);
studentArr.add(student);
}
public Student searchStudentByCode(String code) {
for (Student student : studentArr) {
if (student.getCode().equals(code)) {
return student;
}
}
return null;
}
public Student checkStudentByCodeAndClass(String code,String className) {
for (Student student : studentArr) {
if (student.getCode().equals(code)) {
if (student.getClassName().equals(className))
return student;
}
}
return null;
}
public boolean deleteStudentByCode(String code){
ArrayList<Student> sv=new ArrayList<>();
if(!studentArr.contains(sv))return false;
return studentArr.remove(sv);
}
public boolean deleteStudentByClass(String className){
ArrayList<Student> sv=new ArrayList<>();;
if(!studentArr.contains(sv))return false;
return studentArr.remove(sv);
}
public void readFromFile() {
try {
File f = new File("Students.txt");
if (f.exists()) {
Scanner read = new Scanner(f);
while (read.hasNext()) {
String code = read.nextLine();
String name = read.nextLine();
int bYear = read.nextInt();
String className = read.nextLine();
Double averageGrade = read.nextDouble();
Student student = new Student(code, name, bYear, className, averageGrade);
studentArr.add(student);
}
} else {
System.out.println("Khong ton tai File");
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void writeToFile() {
try {
PrintStream f = new PrintStream("Students.txt");
for (Student student : studentArr) {
f.println("Code: " + student.getCode());
f.println("Full name: " + student.getName());
f.println("Birth year: " + student.getBYear());
f.println("Class name: " + student.getClassName());
f.println("Average grade: " + student.getAverageGrade());
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}