⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test4.java

📁 一个简单的JAVA程序演示如何对文件进行读写以及对数据进行排序
💻 JAVA
字号:
import java.io.*;
/*
4 编写一个程序:要求输入五个学生的成绩(从0到100的整数),并将这五个数保存到文件“data.txt”中。
然后再编写一个程序:从文件“data.txt”中读取这五个学生的成绩,将第一个学生的成绩改成这五个学生
的平均分,将第二和第三个学生的成绩改成这五个学生的最高分,将第四和第五个学生的成绩改成这五个
学生的最低分,最后将这五个新数追加到文件“data.txt”中。
*/

public class test4
{
	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);//对数组排序,升序排序
		name[0]=aversc;
		sc=name1[4];//升序排序,最后一个为最高分
		name[2]=sc;
		name[1]=sc;
		sc=name1[0];//第一个为最低分
		name[3]=sc;
		name[4]=sc;
    
		RandomAccessFile fi=new RandomAccessFile("data.txt","rw");
		long n=fi.length();
		fi.seek(n);
		for (int i=0; i<5;i++ )//追加文件
		{	
			fi.writeInt(name[i]);
			
		}//end for 写入分数到文件	
		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 + -