交通运输学院课程设计
System.out.println(str2);
while(j
交通运输学院课程设计
in.close();
}catch(IOException e){//捕获IO异常
e.printStackTrace();}
2. 3. 3 保存对象数据
果要保存和读取整个对象,则需要创建一些存储对象成员变量和读取成员变量的方法,而且对
象中的成员变量最好能够自动地被保存和读取。Java 支持将对象作为一个整体通过流进行传输和存
储,但必须将 ObjectInputStream 和 ObjectOutputStream 两个类与接口 Serializable 结合起来使用才能
保证有效地存储和读取对象。
System.out.println("请输入要保存文件的文件名:"); //输入要保存文件的文件名 不要扩展名
Scanner in3 = new Scanner(System.in);
String fn=in3.next();
try{
File f=new File("D:\\"+fn+".txt");
PrintWriter pw=new PrintWriter(f);// 将 所 得 分 析 结 果 保 存 到 指 定
pw.write("该平均成绩:"+Math.round(average)+",最高分:"+max+",最低
的.txt文件中
分:"+min+"\r\n");
pw.write("通过率为:" + Math.round(p * 100) + "%"+"\r\n");
pw.write("各分数段的人数分布如下:\r\n");
pw.write("0——59分的人数为:"+n1+"\r\n");
pw.write("60——69分的人数为:"+n2+"\r\n");
pw.write("70——79分的人数为:"+n3+"\r\n");
pw.write("80——89分的人数为:"+n4+"\r\n");
pw.write("90——100分的人数为:"+n5+"\r\n");
pw.close();
}catch(IOException e){
e.printStackTrace();
}
2. 3. 4 主函数
public static void main(String args[]){
Reader ps=new Reader();
ps.Reader();
}
在主函数中 new 出一个 Reader 类的对象 ps,然后通过这个对象调用构造方法来实现所得结果。
2.4 程序运行界面
6
交通运输学院课程设计
图 2 未输入文件名时的运行结果图
图 3 未输入文件名时的 D 盘
图 4 输入要保存的文件名时
图 5 输入要保存的文件名时 D 盘的变化
图 6 记事本里的内容
首次运行是的结果如图 2,在输入要保存的文件名时(以记事本的形式保存)的结
果图为图 4,输入后回车,在 D 盘中自动生成一个记事本文件,且文件里面的内容是分
析结果,如图 6。
7
交通运输学院课程设计
3、程序详细设计与分析
3.1 初始化组件
static int N=30;//班级人数
static int R=5;//文本文件中所有成绩所占的行数
static String[] str1=new String[N];//定义 String 数组用来保存全班学生的成绩
Int max=0,min=100;//最高分、最低分
double sum = 0;//成总和
double average = 0;//平均成绩
String str2=null;//每个学生的成绩
int n1 = 0,n2 = 0,n3 = 0,n4 = 0,n5=0,n6=0;//各分数段的人数
3.2 异常处理
由于 Java 程序常常在网络环境中运行,安全按成为首先考虑的重要因素之一。为了能够及时
有效地处理程序中的运行错误,Java 中引入了异常和异常类,并提供了丰富的处理错误与异常的
措施。Java 中所有的异常类都是系统类库中的 Exception 类的子类。Exception 类的层次结构如图 1:
Throwable
Error
Exception
IOException
RuntimeException
IllegalAccessException
AWT Exception
InterruptedException
图 7 Exception 类的层次结构
表 3 中的异常与 I/O 操作有关,通常发生在从磁盘或者链接的网络上读取数据的时候[2]。一般
无法防止它们发生,但可以阻止它们产生更大的破坏。
8