输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中
题目分析:
1.首先想到的是数组存放数据,数组肯定是String类型.
2.String类型的数组,5行6列.要把从第0行第2列到第4行第4列的数据取出转换成数值型,再统计三科总分.最后把计算出的总分转换成String类型放回数组的第5列.
3.将string类型的数组写入到文件,再从文件读出显示到控制台
遇到的困难:
1.反复的类型转换
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.OutputStream;
- import java.io.PrintStream;
- import java.util.Scanner;
- public class Test2 {
- public static void main(String[] args) throws Exception{
- float sum=0f;
- Scanner input=new Scanner(System.in);
- File f = new File("D:"+File.separator+"test.txt");
- PrintStream ps = new PrintStream(f);
- ps.println("姓名 学号 英语 计算机语言 数据库 总分");
- OutputStream out = new FileOutputStream(f,true);
- //用FileOutputSteam包装文件,并设置文件可追加
- String[][] stu=new String[5][6];
- float[][] score=new float[5][5];//接收各科分数
- System.out.println("请依次输入学生的学号,姓名,英语,计算机语言和数据库的成绩");
- for(int i=0;i<5;i++){
- System.out.println("第"+(i+1)+"位:");
- for(int j=0;j<5;j++){
- stu[i][j]=input.nextLine(); //从键盘接收数据,以回车分隔
- }
- }
- for(int i=0;i<5;i++){
- for(int j=2;j<5;j++){
- score[i][j]=Float.parseFloat(stu[i][j]);//String类型转换为Float类型
- sum+=score[i][j];//总分
- }
- stu[i][5]=(String.valueOf(sum));//float类型转换为string类型放回String数组
- sum=0; //计算完一位同学的总分后清零
- }
- for(int i=0;i<5;i++){
- for(int j=0;j<6;j++){
- out.write(stu[i][j].getBytes()); //将String转换为byte类型,向文件中写入数据
- out.write('\t');//各数据之间的分隔,相当于tab
- }
- out.write('\r');//换行符
- }
- out.close(); //关闭输出流
- System.out.println("写入成功!");
- FileReader fr = new FileReader("d:\\test.txt");
- char[] bchar= new char[1024];
- int len = 0;
- while((len = fr.read(bchar)) != -1){//直到文件读取结束
- System.out.print(new String(bchar,0,len));//输出文件所有内容
- }
- fr.close();
- }
- }
输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中的更多相关文章
- python requests + xpath 获取分页详情页数据存入到txt文件中
直接代码,如有不懂请加群讨论# *-* coding:utf-8 *-* #import jsonimport requestsimport pytesseractimport timeimport ...
- 把cmd信息中的正常和异常输出分别输出到不同txt文件中
场景一: 1.大量滚动信息容纳不下,在小黑屏中被冲刷掉. 2.希望把正常输出和异常输出分别输出到不同地方. 相关命令 一共有4个输出到文件的命令,现以jar命令打war包举例说明: 命令 说明 举例 ...
- Java中读取txt文件中中文字符时,出现乱码的解决办法
这是我写的一个Java课程作业时,遇到的问题. 问题描述: 我要实现的就是将txt文件中的内容按一定格式读取出来后,存放在相应的数组. 我刚开始运行时发现,英文可以实现,但是中文字符就是各种乱码. 最 ...
- SQL C# nvarchar类型转换为int类型 多表查询的问题,查询结果到新表,TXT数据读取到控件和数据库,生成在控件中的数据如何存到TXT文件中
在数据库时候我设计了学生的分数为nvarchar(50),是为了在从TXT文件中读取数据插入到数据库表时候方便,但是在后期由于涉及到统计问题,比如求平均值等,需要int类型才可以,方法是:Conver ...
- python操作txt文件中数据教程[2]-python提取txt文件
python操作txt文件中数据教程[2]-python提取txt文件中的行列元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果-将txt中元素提取并保存在c ...
- C#如何提取.txt文件中的每个字符串
C#如何提取.txt文件中的每个字符串,并将其存放到一个类中. 将其中的编号 菜名 价格 分别存入不同的数组中. 注:在用ReadLine读取一行信息时为什么读取的中文字符变成了乱码. 20 满意答案 ...
- Windows/Ubuntu下,将所有文件名字列举出来并保存到txt文件中
Windows下 使用如下的DOS命令来实现: dir /s /b > lists.txt 可以将当前路径下的所有文件的"文件路径+文件名"存储在lists.txt中. 其中 ...
- 向txt文件中写入内容(覆盖重写与在末尾续写+FileOutputStream与FileWriter)(转发:https://blog.csdn.net/bestcxx/article/details/51381460)
!!!! 读取txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** ...
- 按行读取TXT文件中的内容
public Dictionary<int, string> GetDicFromLog() { try { StreamReader sr = new StreamReader(file ...
随机推荐
- linux_shell_传递参数
在执行shell脚本时可以传递参数: 脚本获取参数的格式为:$0 $1 $2 ...其中$1 为传递的第一个参数 而$0 接受的是./test.sh 这个东西 代码:例: #!/bin/bash ...
- js文字滚动效果
function (global) { var logo = document.getElementById('logo'); var text = document.createTextNode(' ...
- 本地服务器搭建服务:mysql
话不多少,mysql的优劣不再此讨论. 1.官网地址:https://dev.mysql.com/downloads/mysql/ 下载页面直接 No thanks,just start my do ...
- BZOJ5289: [Hnoi2018]排列
传送门 第一步转化,令 \(q[p[i]]=i\),那么题目变成: 有一些 \(q[a[i]]<q[i]\) 的限制,\(q\) 必须为排列,求 \(max(\sum_{i=1}^{n}w[i] ...
- jQuery同步Ajax带来的UI线程阻塞问题
一.需求 在调ajax接口的时候因为有时间延迟,想要做一个loading加载的效果,等数据返回时再把loading的效果去掉. 所以我在调ajax的代码块前面加了显示loading效果的代码,ajax ...
- angularjs -- 页面模板清除
前几天项目在上线过程中,出现了一些新问题.页面在切换时由于前一个页面的模板清理不及时,会造成页面的重叠.导致这个问题的原因是:页面模板缓存,即上一个页面退出时,浏览器没有及时清空上一个页面的模板,导致 ...
- CSS盒模型详解(图文教程)
本文最初发表于博客园,并在GitHub上持续更新.以下是正文. 盒子模型 前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并 ...
- jboss eap6.1(4)(部署应用)
1.添加应用war包 手动部署,添加war包到standalone\deployments下,手工创建一个文件,如war包名称是a.war,创建一个a.war.deployed文件,内容随意. 2. ...
- SQL删除指定条件的重复数据,只保留一条
BEGIN DELETE TB FROM TableName TB WHERE TB.ID IN (SELECT MIN(ID) FROM TableName TB2 GROUP BY TB2.Col ...
- 500.19 ,错误:4.00x80070005
直接把网站根目录添加上everyone权限即可