| |
import java.io.bufferedreader; import java.io.bufferedwriter; import java.io.file; import java.io.filenotfoundexception; import java.io.filereader; import java.io.filewriter; import java.io.ioexception; import java.io.inputstreamreader; import java.io.printwriter; import java.io.stringreader; import java.util.arraylist; import java.util.collection; import java.util.collections; import java.util.hashmap; import java.util.iterator; import java.util.stringtokenizer;
/* * created on 2005-1-11 */
/** * @author 让炜 * @since 1.0 * * todo 学生成绩管理系统 * 通过学号查找,修改,删除数据 * */ public class littleprogram { static boolean isdelete = true; static boolean isfind = true; public static void main(string [] args)//主方法,程序从这里开始运行 throws ioexception,numbernotfoundexception { int choice=-1; do{ littleprogram lp = new littleprogram(); system.out.println(); system.out.println("/t####################################"); system.out.println(); system.out.println("/t/t java学生成绩管理系统1.1"); system.out.println("/t/t请用学号查找,修改,删除数据"); system.out.println(); system.out.println("/t####################################/n"); system.out.print("1.增加数据:/n"+ "2.查找数据:/n"+ "3.删除数据:/n"+ "4.清除所有数据:/n"+ "5.把数据全部打印到屏幕/n"+ "6.把成绩按学号排序/n"+ "7.修改数据/n"+ "8.统计已记录成绩学生数/n"+ "9.关于作者/n"+ "0.退出程序./n" + "输入:"); bufferedreader in = //从终 new bufferedreader( //端接 new inputstreamreader(system.in));//收数 string inputline = in.readline(); //字选 choice= integer.valueof(inputline).intvalue();//项; switch(choice) { case 1: {//1.增加数据 string str = lp.inputdata(); lp.adddata(str); system.out.println("增加数据成功."); timeout(1); }break; case 2: {//2.查找数据 long find = 0; system.out.print("请输入你要查找的学生学号:"); bufferedreader inn = new bufferedreader( new inputstreamreader(system.in)); string inputli = inn.readline(); find = integer.valueof(inputli).longvalue(); lp.finddata(find); timeout(2); }break; case 3: {//3.删除数据 long deletenumber = 0; system.out.print("请输入你想删除的同学的学号:"); bufferedreader bf = new bufferedreader ( new inputstreamreader(system.in)); string inputl = bf.readline(); deletenumber = integer.valueof(inputl).longvalue(); lp.deletedata(deletenumber); if(isdelete) system.out.println("删除数据成功!"); timeout(1); }break; case 4: { lp.cleardata();//4.清除所有数据 timeout(1); }break; case 5: { print();//5.把数据全部打印到屏幕 timeout(2); }break; case 6: { lp.numsort();//6.把成绩按学号排序 system.out.println("按照学号从小到大排序成功!/n"+ "排序后:/n"); print(); timeout(2); }break; case 7: { lp.rewrite();//7.修改数据 timeout(2); }break; case 8: { int count = lp.count(); system.out.println("共有"+count+"个学生已经记录."); timeout(2); }break; case 9: { system.out.print("/t/t让炜/n"+ "/t/t上海电力学院通信工程系/n"+ "/t/tqq:254482170/n"); timeout(4); }break; }while (choice != 0); system.out.println("bye! ^-^"); system.exit(0); } public string inputdata()//从终端接收数据的方法,返回字符串 throws ioexception,numberformatexception { system.out.print("请依次输入 :学号 姓名 性别 成绩/n" + "每项数据请用空格隔开:"); string all = ""; try{ bufferedreader in = //从终 new bufferedreader ( //端接 new inputstreamreader(system.in)); //收数 string inputline = in.readline(); //据 stringtokenizer str = new stringtokenizer(inputline," ");//接收的数据用空格隔开,这个类用来提取每个字符串 long num = integer.valueof(str.nexttoken()).longvalue();//学号 string name = (string)str.nexttoken(); //姓名 string sex = (string)str.nexttoken(); //性别 double mark = integer.valueof(str.nexttoken()).doublevalue();//分数 all = string.valueof(num) +" , "+ name +" , "+ sex +" , "+ string.valueof(mark);//把所有的数据用" , "隔开然后在连起来放进字符串all }catch (ioexception e){} catch (numberformatexception e){} return all;//返回字符串all } public void adddata(string str)//增加数据的方法 throws ioexception { string s1 ="",s2="" ,s3= ""; file file = new file("data.txt"); if (file.exists())//如果文件data.txt存在 { try{ bufferedreader in = new bufferedreader( new filereader("data.txt")); while ((s1=in.readline())!=null) s2+=s1+"/n";//把文件中的每行数据全部放进一个字符串s2 s2+=str+"/n"; //再把s2于形参str相连放进s2 bufferedreader in2 = //把字符 new bufferedreader( //串s2也 new s
|
|