?? curriculum.java
字號:
import java.io.*;
/**
* 該類描述了課表中課程的信息,同時提供了課程對象序列化和反序列化的方法
*/
public class Curriculum {
private int id = -1; //
private String name; //課程名
private String teacher; //任課老師
private String classroom; //教室
private int time; //上課時間
private String remark; //備注信息
public static final String[] WEEKS_LABEL = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
public static final String[] JIE_LABEL = {"第1~2節", "第3~4節", "第5~6節", "第7~8節", "第9~10節"};
public Curriculum(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getClassroom() {
return classroom;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
//獲取上課的日期,0:星期一, 1:星期二, ..., 7:星期日
public int getDay() {
return time/10;
}
//獲取上課時間,0:第1~2節, 1:第3~4節, ..., 4:第5~6節
public int getTime() {
return time%10;
}
//設置上課日期,時間
public void setDate(int day, int t) {
time = day*10 + t;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public int getID() {
return id;
}
public void setID(int id) {
this.id = id;
}
public String toString() {
return "課程: " + name + "\n任課教師:" + teacher
+ "\n教室:" + classroom + "\n上課時間: " + WEEKS_LABEL[getDay()] + " " + JIE_LABEL[getTime()]
+ "\n備注信息:\n " + remark;
}
//使用字節數組data中的數據更新當前課程對象
public void setData(byte[] data) throws IOException {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
DataInputStream dis = new DataInputStream(bais);
this.setName(dis.readUTF());
this.setTeacher(dis.readUTF());
this.setClassroom(dis.readUTF());
int temptime = dis.readInt();
this.setDate(temptime/10, temptime%10);
this.setRemark(dis.readUTF());
}
//將當前課程對象序列化為字節數組
public byte[] sequence() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeUTF(name);
dos.writeUTF(teacher);
dos.writeUTF(classroom);
dos.writeInt(time);
dos.writeUTF(remark);
dos.close();
baos.close();
return baos.toByteArray();
}
//反序列化,使用字節數組中的數據生成一個新的課程對象
public static Curriculum unSequence(byte[] data) throws IOException {
Curriculum curriculum = new Curriculum(null);
curriculum.setData(data);
return curriculum;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -