从一个文本文件Student.txt中读入30个学生的姓名,专业,班级,java成绩

从一个文本文件Student.txt中读入30个学生的姓名、专业、班级、java成绩,并实现如下功能(1)显示所有学生的成绩信息;(2)统计各个班级的最高分、最低分和平均... 从一个文本文件Student.txt中读入30个学生的姓名、专业、班级、java成绩,并实现如下功能
 (1)显示所有学生的成绩信息;
(2)统计各个班级的最高分、最低分和平均分,并将结果写入另外一个文件StudentTj.txt;
展开
 我来答
wust07
推荐于2016-11-20 · TA获得超过123个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:162万
展开全部
被我写的太麻烦了,感觉不怎么好。
 public class Test08 {
 public static void main(String[] args) {
  Reader in = null;
  BufferedReader read = null;
  int i = 0;
  String[] arr = new String[6];
  Writer out=null;
  BufferedWriter writer=null;
  try {
   in = new FileReader("F:/Student.txt");
   read = new BufferedReader(in);
   while ((arr[i] = read.readLine()) != null) {
    System.out.println(arr[i++]);
   }
   int[] arry = new int[4];
   int j = 3;
   while (i > 1) {
    String str = arr[--i];
    String str2 = "";
    str2 = String.valueOf(arr[i].charAt(str.length() - 2))
      + String.valueOf(arr[i].charAt(str.length() - 1));
    arry[j--] = Integer.parseInt(str2);
   }
   Arrays.sort(arry);
   int max = arry[3];
   int min = arry[0];
   float average = (arry[0] + arry[1] + arry[2] + arry[3]) / 4;
   System.out.println(average);
   System.out.println(max);
   System.out.println(min);
   out= new FileWriter("F:/Student1.txt");
   writer=new BufferedWriter(out);
   writer.write(String.valueOf(min)+"\r\n");
   writer.write(String.valueOf(max)+"\r\n");
   writer.write(String.valueOf(average));
   
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } finally {
   try {
    read.close();
    writer.close();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }
}
游琬胥梓蓓
2019-08-17 · TA获得超过1151个赞
知道小有建树答主
回答量:2439
采纳率:100%
帮助的人:12.4万
展开全部
public
static
void
main(string[]
args)
{
try
{
bufferedreader
br
=
new
bufferedreader(new
filereader("file1.txt"));
string
str;
int
count=0;
double
max=0;
double
min=100;
double
sum=0;
double
avg;
while((str=br.readline().trim())!=null){
count++;
double
d=double.parsedouble(str.split("
")[1]);
if(max<=d){
max=d;
}
if(min>=d){
min=d;
}
sum=sum+d;
}
avg=sum/count;
printwriter
pw=new
printwriter(new
outputstreamwriter(new
fileoutputstream(new
file("file2.txt"))));
pw.println("最高分:"+max+"\n"+"最低分:"+min+"\n"+"平均分:"+avg);
pw.flush();
}
catch
(ioexception
e)
{
e.printstacktrace();
}
}
file1.txt中的数据是以姓名+空格+成绩的形式存储的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
balsum
2013-10-24 · TA获得超过311个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:189万
展开全部
请提供Student.txt内容。 另外这只是简单的逻辑处理,建议楼主自己动手
追问

文本里大概是这样,依次是姓名,专业,班级,成绩

追答

... 想帮你了解下几个基础知识的使用,所以写得长了些. 不过还算清晰。 希望你以后能用到.



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式