在操作I/O流的时候发生了一些错误,求大家帮帮忙

a1411473204 a1411473204 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
先给上源代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.DataOutputStream;
import java.io.DataInputStream;
public class J_Read {
public static void main(String[] args)
{
// TODO Auto-generated method stub
int sum=0,average=0;
int []a=new int[5];
try
{
FileOutputStream grade=new FileOutputStream("data.txt");
DataOutputStream dout=new DataOutputStream(grade);
for(int i=0;i<5;i++)
dout.write((int)(Math.random()*100)+20 );
dout.close();
FileInputStream gradeIn=new FileInputStream("data.txt");
DataInputStream fin=new DataInputStream(gradeIn);
for(int j=0;j<5;j++)
sum+=fin.readInt();
average=sum/5;
for(int i=0;i<5;i++)
a[i]=fin.readInt();
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
{
if(a[i]>a[j])
{
int t=a[j];
a[j]=a[i];
a[i]=t;
}
}
fin.close();
}
catch(Exception e)
{
System.out.println("发生异常"+e);
e.printStackTrace();
}
System.out.println("这5个学生的平均成绩为: "+average);
System.out.print("这5个学生的成绩为: ");
for(int i=0;i<5;i++)
System.out.print(a[i]+" ");
}
}
//本代码的目的:编写一个程序,要求输入5个学生的成绩,并且保存到文件“data.txt"中,求解并输出其平均数,然后读取文件,把成绩从小到大输出
但是运行的时候却发生了错误,写进文件里面的只是一个乱码。
错误信息如下:
发生异常java.io.EOFException
这5个学生的平均成绩为: 0
这5个学生的成绩为: 0 0 0 0 0 java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at J_Read.main(J_Read.java:22)
求解,代码较长,辛苦各位大牛了
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
a1411473204
Java SE 62,621 成员 307,251 内容