📄 undergraduate.java
字号:
package GradeManagement.model;
import java.io.EOFException;
import GradeManagement.util.SystemConstants;
// 声明Undergraduate类
public class Undergraduate extends Student {
int grade; // 论文分数
String article; // 论文标题
public Undergraduate(){}
public Undergraduate(String id, String name,
CourseGrade grades[],
int grade, String article) {
super(id, name, grades);
this.setGrade(grade);
this.setArticle(article);
}
public Undergraduate(Undergraduate graStudent) {
super(graStudent);
setGrade(graStudent.getGrade());
setArticle(graStudent.getArticle());
}
/*********属性相应的get/set方法*************/
public int getGrade() {
return grade;
}
public String getArticle() {
return this.article;
}
public void setGrade(int grade) {
this.grade = grade;
}
public void setArticle(String article) {
this.article = article;
}
public String toString() {
return super.toString() + getGrade() + "\t" + this.getArticle()+ "\t";
}
public int compareTo(Object anObject){
return compareTo((Undergraduate)anObject);
}
//比较成绩大小,当前对象成绩比参数对象成绩大时返回1,相等时返回0,其它返回-1.
public int compareTo(Undergraduate anObject){
if( this == anObject) return 1;
if(this.sum() > anObject.sum()) return 1;
else if(this.sum() == anObject.sum()) return 0;
else return -1;
}
public float sum() {
return( super.sum() + grade );//研究生加上论文分数
}
public float average() {
return sum() / (SystemConstants.UNDGRSCOURSES.length + 1);
}
//第六章新增代码
public boolean readRecord() {
if (!super.readRecord()) return false; // 调用父类方法readRecord()
boolean readSucess = true; // 读入成功标志
try {
grade = file.readInt(); // 读入论文分数
// 读入论文标题
byte articleByte[] = new byte [MAX_STRING_SIZE];
file.readFully(articleByte);
article = new String(articleByte).trim();
} catch(EOFException eoException) {
System.out.println("end of file end");
}
catch(Exception e){
readSucess = false;
};
return readSucess;
} // 方法readRecord结束
public int getCourseNumbers(){
return SystemConstants.UNDGRSCOURSES.length;
}
//第六章新增代码
public boolean writeRecord() {
if(!super.writeRecord()) return false;
try {
file.writeInt(grade); //写入论文分数
byte b1[] = process(article);
file.write(b1); //写入研究生需要写论文
} catch(Exception e) {
return false;
}
return true;
} // 方法writeRecord()结束
} // 类Undergraduate结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -