java编程计算_java编程之输入并进行计算

/*

*使用 字符流 编程实现以下功能 (1)从键盘输入姓名、学号、成绩,并保存到文本文件中,重复进行,直到输入空字符串为止 (2)从文件中读取各学生的成绩,并计算所有学生成绩的平均值、最大值和最小值

*/

import java.io.*;

public class inputdata{

public static void main(String args[]) throws IOException{

String s; //暂存字符串

InputStreamReader isr=new InputStreamReader(System.in);//建立输入流

BufferedReader br=new BufferedReader(isr);//建立缓冲BufferedReader对象br,关联到isr

FileWriter fw=new FileWriter("c:\\student.txt");//创建文件输出 FileWriter类对象fw

BufferedWriter bw=new BufferedWriter(fw);//创建带缓冲的BufferedWriter类对象bw,并关联到fw

System.out.println("请输入姓名:(以空行结束)");//将读入字符串写入到文件中

int linenum=0;

while(true){//循环读入字符串

System.out.println("输入姓名、学号: ");

linenum++;

System.out.flush();//清空输出缓冲区

s = br.readLine();//读入输入的一行

if(s.length()==0)break;//若遇到空行则break,结束读-写工作

bw.write(s);//将本行字符串写出到对象bw

bw.newLine(); //在对象bw中创建新行,为下一行输出做准备

System.out.println("输入成绩: ");//以下与上方同理

linenum++;

System.out.flush();

s = br.readLine();

bw.write(s);

bw.newLine();

}

br.close();//关闭输出对象

bw.close();

System.out.println("输入的姓名,学号,成绩存入到c:\\student.txt文件");

FileReader fr=new FileReader("c:\\student.txt"); //创建File对象,并打开文件,作为写出数据的目标

BufferedReader br1=new BufferedReader(fr); //建立缓冲BufferedReader对象br1,关联到fr

String s1; // 变量的声明

double temp=0,average=0,sum=0,min=100,max=0;

linenum=0;

s1=br1.readLine(); //读入一行

while(s1!=null){ //当不为空时执行下列语句

linenum++; //行数加一

if(linenum%2==0){ //判断行数 如果是2 的倍数 即为成绩行 进行如下操作

//bw.write(s); //写入s

temp=Double.parseDouble(s1); //强制转换成double型

sum=sum+temp; //加和

if(temp>max){ //判断如果temp比max大

max=temp; //则将temp值赋给max

}

if(temp

min=temp; //则将temp值赋给min

}

}

//bw.newLine(); //新建行

s1=br1.readLine(); //读行

}

average=sum/(linenum/2); //成绩的总和除以成绩数计算平均值

System.out.println("成绩的平均值"+average); //输出结果

System.out.println("成绩的最大值"+max);

System.out.println("成绩的最小值"+min);

br1.close();//关闭输出对象

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值