⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 course.java

📁 用Java做的一个学生考试分析程序
💻 JAVA
字号:
/*
 * Course.java
 *
 * Created on 2007年12月12日, 下午6:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package 考试成绩分析程序;
import java.io.*;
/**
 *
 * @author drawen
 */
public class Course implements java.io.Serializable{
    public  static final String COURSE_FILE="courseFile.dat";
    private String id;
    private String name;
    private float credit;
    private int period;
    /** Creates a new instance of Course */
    public Course(){}
    public Course(String id,String name,float credit,int period) {
        setId(id);
        setName(name);
        setCredit(credit);
        setPeriod(period);
    }
    public void setId(String id){
        this.id=id;
    }
    public String getId(){
        return id;
    }
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public void setCredit(float credit){
        this.credit=credit;
    }
    public float getCredit(){
        return credit;
    }
    public void setPeriod(int period){
        this.period=period;
    }
    public int getPeriod(){
        return period;
    }
    public boolean equals(Object o){
        return (((Course)o).getId().equals(this.id));
    }
    public boolean saveToFile(){
        MainWindow.initDataFile(COURSE_FILE);
        DataOutputStream output;     
        DataInputStream input;
        String id,name;
        float credit;
        int period;
        try{
            input=new DataInputStream(new FileInputStream(COURSE_FILE));            
            while(input.available()>0){
                id=input.readUTF();
                name=input.readUTF();
                credit=input.readFloat();
                period=input.readInt();
                if(id.equals(this.id)){
                    input.close();
                    return false;
                }
            }
            input.close();
            output=new DataOutputStream(new FileOutputStream(COURSE_FILE,true));
            output.writeUTF(this.id);
            output.writeUTF(this.name);
            output.writeFloat(this.credit);
            output.writeInt(this.period);
            output.close();
            return true;
        }catch(Exception e){      
            return false;
        }
    }
    public static Course queryFromFile(String courseId){
        MainWindow.initDataFile(COURSE_FILE);
        DataInputStream input;
        String id,name;
        float credit;
        int period;
        try{
            input=new DataInputStream(new FileInputStream(COURSE_FILE));
            while(input.available()>0){
                id=input.readUTF();
                name=input.readUTF();
                credit=input.readFloat();
                period=input.readInt();  
                if(id.equals(courseId)){
                    input.close();
                    return new Course(id,name,credit,period);                    
                }
            }
            input.close();
            return null;
        }catch(Exception e){
            return null;
        }
    }
    public static Course[] loadFile(){
        MainWindow.initDataFile(COURSE_FILE);
        int count=0;
        Course[] course=new Course[20];
        DataInputStream input;
        try{
            input=new DataInputStream(new FileInputStream(COURSE_FILE));
            while(input.available()>0){
                if(count>=course.length){
                    Course[] temp=new Course[20];
                    for(int i=0;i<course.length;i++)
                        temp[i]=course[i];
                    course=temp;
                }
                course[count]=new Course();
                course[count].setId(input.readUTF());
                course[count].setName(input.readUTF());
                course[count].setCredit(input.readFloat());
                course[count].setPeriod(input.readInt());
                count++;
            }
            input.close();
            return course;
        }catch(Exception e){
            return null;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -