服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java学生成绩管理系统源代码


  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

扫描关注微信公众号