Java50道经典习题-程序50 文件IO

本博客介绍了一个Java程序,用于输入并处理五个学生的学号、姓名及三门课程的成绩,计算平均成绩,并将数据保存到文件中。程序使用了数组来存储学生信息,通过BufferedReader读取用户输入,利用FileWriter和BufferedWriter将处理后的数据写入到指定路径的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
import java.io.*;
public class Prog50{
    //定义学生模型
    String[] number = new String[5];
    String[] name = new String[5];
    float[][] grade = new float[5][3];
    float[] sum = new float[5];
    public static void main(String[] args) throws Exception{
        Prog50 stud = new Prog50();
        stud.input();
        stud.output();
    }
    //输入学号、姓名、成绩
    void input() throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //录入状态标识
        boolean isRecord = true;
        while(isRecord){
            try{
                for(int i=0;i<5;i++){
                    System.out.print("请输入学号:");
                    number[i] = br.readLine();
                    System.out.print("请输入姓名:");
                    name[i] = br.readLine();
                    for(int j=0;j<3;j++){
                        System.out.print("请输入第"+(j+1)+"门课成绩:");
                        grade[i][j] = Integer.parseInt(br.readLine());
                    }
                    System.out.println();
                    sum[i] = grade[i][0]+grade[i][1]+grade[i][2];
                }
                isRecord = false;
            }catch(NumberFormatException e){
                System.out.println("请输入一个数字!");
            }
        }
    }
    //输出文件
    void output() throws IOException{
        FileWriter fw = new FileWriter("D:\\JavaEE\\Code\\Java基础50道经典练习题\\src//stud.txt");
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write("No.  "+"Name  "+"grade1  "+"grade2  "+"grade3  "+"average");
        bw.newLine();
        for(int i=0;i<5;i++){
            bw.write(number[i]);
            bw.write("  "+name[i]);
            for(int j=0;j<3;j++)
                bw.write("  "+grade[i][j]);
            bw.write("  "+(sum[i]/5));
            bw.newLine();
        }
        bw.close();
    }
}
/*运行结果
在D:\JavaEE\Code\Java基础50道经典练习题\src路径下的stud.txt文件中录入了如下数据
No.  Name  grade1  grade2  grade3  average
1  张三  10.0  20.0  30.0  12.0
2  李四  20.0  30.0  40.0  18.0
3  王五  30.0  40.0  50.0  24.0
4  赵六  40.0  50.0  60.0  30.0
5  周七  50.0  60.0  70.0  36.0
*/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值