jjzzggkk 2016-05-11 09:48 采纳率: 0%
浏览 1822
已采纳

初学者有关IO流统计成绩到另一个文件的问题

编写一个程序RecordScore.java用来记录某课程的成绩,要求从键盘输入学生姓名和成绩,每行输入一个学生的成绩,输入end#表示输入结束。程序要统计出课程的平均成绩,并将输入的学生成绩和平均成绩保存到soor.txt文件。(提示:字符串的方法
split(" ")可以返回字符串中以空格分割的字符串数组。如str="张三 80";String[] s=
str.split(" ");则s[0]="张三",s[1]="80")
题目部分图片
图片说明
自己写的代码如下
package IOlianxi;
import java.io.*;
import java.util.*;
public class RecordScore {
public static void main(String[] args) {
try {
InputStreamReader str=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(str);
BufferedWriter bw=new BufferedWriter(new FileWriter("E://soore.txt"));
String st=null;
String[] s=st.split("");
while(!(st=br.readLine()).equals("quit")){

bw.write(s);
bw.newLine();
}
br.close();
bw.close();
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("没有指定文件");
}catch (Exception e) {
e.printStackTrace();
}
}
}
但是这个代码是错的,好像不能方数组,这里报错后面都不知道怎么写了
图片说明
都不知道怎么写了,求大神

  • 写回答

2条回答 默认 最新

  • havedream_one 2016-05-11 12:41
    关注
    int count;
    double score;
    double avg;
    while(!(st=br.readLine()).equals("quit")){
    String[] tmp = st.split(" ");
    score+= Double.valueOf(tmp[1]);//统计成绩
    count++;//统计学生数
    bw.write(st)
    bw.newLine();
    }
    bw.write(score/count);
    //bw.write(String.valueOf(score/count));上面错误就改成下面的这一条
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 王伟AHSS 2016-05-11 10:05
    关注

    BufferedWriter可以放String,你需要读出字符串
    writer = new BufferedWriter(new OutputStreamWriter(
    new FileOutputStream(destFile, true)));
    writer.write(sb.toString());
    writer.flush();

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法
  • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
  • ¥15 macos13下 ios交叉编译的问题
  • ¥15 bgz压缩文件怎么打开
  • ¥15 封装dll(引入了pcl的点云设计库)
  • ¥30 关于#开发语言#的问题:我需要在抄板的基础上再抄板抄程序,根据RDA8851CM基础上开发
  • ¥15 oracle 多个括号,怎么删除指定的括号及里面的内容?
  • ¥15 小新14API2019想用bios调风扇