📄 test3.java
字号:
import java.io.*;
/*
编写一个程序:要求输入五个学生的成绩(从0到100的整数),并将这五个数保存到文件“data.txt”中。
然后再编写一个程序:从文件“data.txt”中读取这五个学生的成绩,计算它们的平均分,然后按从大到小
的顺序将这五个学生的成绩以及他们的平均分追加到文件“data.txt”中。
*/
public class test3
{
public static void main(String args[]) throws IOException
{
int sc=0;
int aversc=0;
int name[]=new int[5];
int name1[]=new int[5];
/*DataOutputStream out=new DataOutputStream(new FileOutputStream("data.txt"));
for (int i=1 ;i<6 ;i++ )
{
int n=0;
System.out.println("请输入第"+i+"个学生的成绩:\n");
InputStreamReader ins=new InputStreamReader(System.in);
BufferedReader in =new BufferedReader(ins);
sc=Integer.parseInt(in.readLine());
if ((sc>100)||(sc<0))
{
System.out.println("你输入的成绩不错误,请重新输入:");
i = i-1;
continue;
}
name[i-1]=sc;
}//end for 成绩输入
System.out.println();
for (int i=0; i<5 ;i++ )
{
out.writeInt(name[i]);
}//end for 写入分数到文件
RandomAccessFile fil=new RandomAccessFile("data.txt","rw");
sc=0;
for (int i=0; i<5 ;i++ )
{
name1[i]=fil.readInt();
name[i]=name1[i];
aversc=name1[i]+aversc;//求总分
}//end for 读出分数到数组
fil.close();
*/
aversc=aversc/5;
java.util.Arrays.sort(name1);//对数组排序
RandomAccessFile fi=new RandomAccessFile("data.txt","rw");
long n=fi.length();
fi.seek(n);
for (int i=4; i>-1;i-- )//追加文件
{
fi.writeInt(name1[i]);
}//end for 写入分数到文件
fi.writeInt(aversc);
fi.close();
/*RandomAccessFile f=new RandomAccessFile("data.txt","rw");//测试数据读写是否正确
for (int i=0; i<11;i++ )//追加文件
{
System.out.println(f.readInt());
}//end for 写入分数到文件
f.close();*/
}//end main
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -