急,求简单java源程序

编写一个程序。要求输入5个学生的成绩(从0到100的整数),并将这5个数保存到文件“data.txt”中。然后再编写一个程序,从文件“data.txt”中读取这5个学生的... 编写一个程序。要求输入5个学生的成绩(从0到100的整数),并将这5个数保存到文件“data.txt”中。然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出它们的平均数,然后再按从小到大的顺序输出这5个学生的成绩。

要源程序啊,还有能写些注释的话就更好了,谢谢!!!
各位高手,很感谢你们!楼下“zfhdd”的回答100%正确,“xufengskygp”的回答90%正确。
我自己也写了个,别的都正确了,就是输出到文件后,打开文件后全是些与输入数值对应的字符?哪位高手帮我看下啊,还有就是代码还能不能精简些呢?貌似自己写的太长了。加分50啊,求教高手指点,万分感谢!!
try
{
FileOutputStream fout = new FileOutputStream("data.txt");
DataOutputStream dfout = new DataOutputStream(fout);
for(i=0;i<5;i++)dfout.writeInt(score[i]);//问题出在这,输出到文件的全是符号,而后面却能正确读入,score数组是存放成绩的整型数组,排序也没问题……
dfout.close();
}
展开
 我来答
zfhdd
推荐于2018-04-19 · TA获得超过313个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:0
展开全部
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Save {

public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
String str = "";
Scanner scan = new Scanner(System.in);
try {
BufferedWriter buf = new BufferedWriter(new FileWriter(
"data.txt", true));
str = scan.nextLine();
buf.write(str);
buf.newLine();
buf.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
================================
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;

public class Read {

public static void main(String[] args) {
try {
double sum = 0;
BufferedReader buf = new BufferedReader(new FileReader("data.txt"));
ArrayList<Double> list = new ArrayList<Double>();
String str = "";
while ((str = buf.readLine()) != null) {
list.add(Double.parseDouble(str));
}
for (int i = 0; i < list.size(); i++) {
sum = sum + list.get(i);
}
System.out.println("arr is " + sum / list.size());
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

============================================
因为writeInt方法返回的是以 4-byte 值。
api中是这样说的,将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 4。
所以你写入的是字节,而不是字符串。
个人认为用BufferedWriter和BufferedReader比较好
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xufengskygp
2009-04-13
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
public class test {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
Integer [] a = new Integer[5];
String [] chengji = new String[5];
Integer avgPoint =0; //平均分
Integer maxPoint =0; //最高分
int j=0;
for (int i = 0; i < 5; i++) {
a[i] = in.nextInt();
}
FileWriter writer = null;
FileReader reader = null;
BufferedReader readerBuff =null;

Integer b = 0;

try{
// write
writer=new FileWriter("d:/HW.txt");
writer.write(a[0].toString()+"\r\n");
writer.write(a[1].toString()+"\r\n");
writer.write(a[2].toString()+"\r\n");
writer.write(a[3].toString()+"\r\n");
writer.write(a[4].toString());
writer.close();
// read
reader =new FileReader("d:/HW.txt");
readerBuff = new BufferedReader(reader);
while((chengji[j]=readerBuff.readLine())!=null){
j++;
if(j==5){
break;
}
}
reader.close();
avgPoint=(Integer.parseInt(chengji[0])+Integer.parseInt(chengji[1])+Integer.parseInt(chengji[2])+Integer.parseInt(chengji[3])+Integer.parseInt(chengji[4]))/5;
for (int i=0;i<chengji.length;i++){
if(Integer.parseInt(chengji[i]) > maxPoint){
maxPoint = Integer.parseInt(chengji[i]);
}
}
System.out.println(avgPoint);
System.out.print(maxPoint);
}catch(Exception e){
System.out.print(e.getMessage());
}

}
}

闲着没事写了个,希望对你有帮助,不懂可以问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
songxiaowei666
2009-04-13 · 超过29用户采纳过TA的回答
知道答主
回答量:123
采纳率:0%
帮助的人:75.4万
展开全部
你自己先写点吧,就让别人帮你做,也不是办法!!你自己那不会了再在这问,我相信有很多人愿意帮你的!!!一点也不做也太没有诚意了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xjieni
2009-04-13 · TA获得超过113个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:67.6万
展开全部

那位 四毛大哥
什么叫简单的你都不知道怎么写了
口气真大啊
不然你帮他写份难点的啊

怎么就觉得这人是在问作业的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twhwj502
2009-04-13 · TA获得超过164个赞
知道答主
回答量:185
采纳率:0%
帮助的人:150万
展开全部
麻烦一点。。但是比较简单。。你可以自己去网上找各功能程序然后拼接一下。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式