博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中...
阅读量:6625 次
发布时间:2019-06-25

本文共 2027 字,大约阅读时间需要 6 分钟。

题目分析:

1.首先想到的是数组存放数据,数组肯定是String类型.

2.String类型的数组,5行6列.要把从第0行第2列到第4行第4列的数据取出转换成数值型,再统计三科总分.最后把计算出的总分转换成String类型放回数组的第5列.

3.将string类型的数组写入到文件,再从文件读出显示到控制台

遇到的困难:

1.反复的类型转换

1 import java.io.File; 2 import java.io.FileOutputStream; 3 import java.io.FileReader; 4 import java.io.OutputStream; 5 import java.io.PrintStream; 6 import java.util.Scanner; 7 public class Test2 { 8 public static void main(String[] args) throws Exception{ 9     float sum=0f;10     Scanner input=new Scanner(System.in);11     File f = new File("D:"+File.separator+"test.txt");12     PrintStream ps = new PrintStream(f);  13     ps.println("姓名             学号                英语      计算机语言        数据库           总分");14     OutputStream out = new FileOutputStream(f,true);15     //用FileOutputSteam包装文件,并设置文件可追加16     String[][] stu=new String[5][6];17     float[][] score=new float[5][5];//接收各科分数18     19     System.out.println("请依次输入学生的学号,姓名,英语,计算机语言和数据库的成绩");20     for(int i=0;i<5;i++){21         System.out.println("第"+(i+1)+"位:");22         for(int j=0;j<5;j++){23         stu[i][j]=input.nextLine();    //从键盘接收数据,以回车分隔24     }25     }26     for(int i=0;i<5;i++){27         for(int j=2;j<5;j++){28             score[i][j]=Float.parseFloat(stu[i][j]);//String类型转换为Float类型29             sum+=score[i][j];//总分30         }31         stu[i][5]=(String.valueOf(sum));//float类型转换为string类型放回String数组32         sum=0;        //计算完一位同学的总分后清零33     }34     for(int i=0;i<5;i++){35         for(int j=0;j<6;j++){36         out.write(stu[i][j].getBytes()); //将String转换为byte类型,向文件中写入数据37         out.write('\t');//各数据之间的分隔,相当于tab38         }39         out.write('\r');//换行符40     }41     out.close();    //关闭输出流42     System.out.println("写入成功!");43     44     FileReader fr = new FileReader("d:\\test.txt");45     char[] bchar= new char[1024];46     int len = 0;47     while((len = fr.read(bchar)) != -1){
//直到文件读取结束48 System.out.print(new String(bchar,0,len));//输出文件所有内容49 }50 fr.close();51 }52 }

 

转载于:https://www.cnblogs.com/silenTJ/p/8011779.html

你可能感兴趣的文章
管理ORACLE实例
查看>>
Confluence 6 MySQL 数据库设置准备
查看>>
Ruby 中 0/0.0 = NaN
查看>>
JEESNS数据库表设计结构
查看>>
JavaScript学习笔记:判断变量是否为undefined,判断变量和函数是否声明
查看>>
局域网访问Apache服务器
查看>>
JavaScript 闭包
查看>>
Spark算子:RDD行动Action操作(3)–aggregate、fold、lookup
查看>>
java获取当前时间前一周、前一月、前一年的时间
查看>>
话说WEB开发之页面重绘和回流
查看>>
using标识使用
查看>>
T264接口说明
查看>>
SELinux介绍
查看>>
visual C++ 用 TextOut 输出单个字符
查看>>
Rsyslog实现Nginx日志统一收集
查看>>
开源数字媒体资产管理系统:Razuna
查看>>
linux文本处理三剑客之grep家族及其相应的正则表达式使用详解
查看>>
Java中的IO操作(一)
查看>>
Python---装饰器
查看>>
s17data01
查看>>