?? infomodel.java
字號(hào):
import java.io.*;
import java.util.*;
import java.text.*;
public class infomodel
{
//說明學(xué)生信息系統(tǒng)的存儲(chǔ)空間
Student[] students;
//說明當(dāng)前學(xué)生的個(gè)數(shù)
int numberofstudent ;
//構(gòu)造方法
public infomodel()
{
students =new Student[1000];
//實(shí)例化學(xué)生數(shù)組
numberofstudent=0;
//初始化學(xué)生個(gè)數(shù)
}
//插入一條新的學(xué)生記錄
public void insert(BufferedReader readStream)
{
String sno=null;
//定義并初始化學(xué)生學(xué)號(hào)
String name=null;
//定義并初始化學(xué)生姓名
String sex=null;
//定義并初始化學(xué)生性別
String department=null;
//定義并初始化學(xué)生部門
String enrollmentdate=null;
//定義并初始化學(xué)生出生日期
try
{
System.out.println("請(qǐng)輸入學(xué)號(hào):");
sno=readStream.readLine ();
//從鍵盤輸入學(xué)號(hào)
}
catch (IOException e)
{
e.printStackTrace();
//捕捉IO異常
}
students[numberofstudent++]=new Student(sno,name,sex,department,getdate(enrollmentdate));
//裝載數(shù)組
}
//字符串yyyy-hh-dd到日期的轉(zhuǎn)換
public Date getdate(String date)
{
StringTokenizer mydate=new StringTokenizer(date,"-");
int year =Integer.parseInt(mydate.nextToken());
int month = Integer.parseInt(mydate.nextToken());
int day = Integer.parseInt(mydate.nextToken());
//把指定的年月日轉(zhuǎn)化為日期整數(shù)
Calendar now =Calendar.getInstance();
now.clear();
now.set(year,month-1,day);
return now.getTime();
}
//刪除一條學(xué)生記錄
public void delete (BufferedReader readStream)
{
String sno=null;
System.out.println("請(qǐng)輸入學(xué)號(hào):");
try
{
sno=readStream.readLine();
}
catch (IOException e)
{
e.printStackTrace();
}
//開始刪除
for (int i=0;i<numberofstudent ;i++ )
{
if (students[i].getSno().equals(sno))
{
//通過前移操作實(shí)現(xiàn)刪除
for (int j=i;j<numberofstudent ; j++)
{
students[j]=students[j+1];
//修正目前學(xué)生記錄
numberofstudent--;
break;
}
}
}
}
//修改學(xué)生記錄
public void update (BufferedReader readStream)
{
String sno=null;
System.out.println("請(qǐng)輸入學(xué)號(hào):");
try
{
sno=readStream.readLine();
}
catch (IOException e)
{
e.printStackTrace();
}
for (int i=0;i<numberofstudent ;i++ )
{
if (students[i].getSno().equals(sno))
{
for (int j=i;j<=numberofstudent ; j++)
{
students[j]=students[i];
}
}
}
}
//顯示學(xué)生記錄的方法
public void query(BufferedReader readStream)
{
int flag=0;
String sno = null;
for (int i=0;i<numberofstudent ;i++ )
{
flag=1;
System.out.println("請(qǐng)輸入記錄號(hào)"+(i=1));
if(students[i].getSno().equals(sno))
{
flag = 1;
System.out.println(students[i].getName());
System.out.println(students[i].getSex());
System.out.println(students[i].getDepartment());
System.out.println(students[i].getEnrollmentDate());
}
if (flag==0)
{
System.out.println("目前還沒記錄");
}
}
}
//批量裝入學(xué)生記錄的方法
public void load ()
{
String sno=null;
String name=null;
String sex=null;
String EnrollmentDate=null;
String department=null;
String in;
//定義成員變量
//從指定文件中讀取學(xué)生信息
try
{
BufferedReader infile = new BufferedReader(new FileReader("e:\\inf\\xuesheng.txt"));
//建立鍵盤輸入流
while ((in=infile.readLine())!=null)
{
StringTokenizer str =new StringTokenizer(in,"1");
sno=str.nextToken();
name=str.nextToken();
sex=str.nextToken();
EnrollmentDate=str.nextToken();
department=str.nextToken();
//依次獲得學(xué)號(hào),姓名,性別,出生年月日和所在院系名稱
students[numberofstudent++]=new Student(sno,name,sex,department,getdate(EnrollmentDate));
//裝載到數(shù)組
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
System.out.println("I/O操作出現(xiàn)異常");
}
}
//存儲(chǔ)學(xué)生記錄的方法
public void saveto()
{
try
{
BufferedWriter outfile = new BufferedWriter(new FileWriter("e:\\inf\\xuesheng.txt"));
//建立文件輸出流(writer)
for (int i=0;i<numberofstudent;i++ )
{
outfile.write(students[i].getSno()+" ");
outfile.write(students[i].getName()+" ");
outfile.write(students[i].getSex()+" ");
outfile.write(students[i].getDepartment()+" ");
outfile.write(students[i].getEnrollmentDate()+" ");
outfile.newLine();
//開始寫數(shù)據(jù)
}
outfile.close();
//關(guān)閉流
}
catch (IOException e)
{
System.out.println("I/O操作出現(xiàn)異常");
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -