编写程序,随机生成100个1000到2000之间的整数,将它们写到一个文件out.dat中,从out.dat中读出100个整数,程序中按照从小到大的顺序对这100个数排序,在屏幕上输出,同时写到同一个名为sort.dat的文件中。读出数据使用DataInputStream的readInt()方法。
import java.io.*;
public class NumberReadWrite {
public static void main(String args[]) throws IOException{
//生成10个整数,并写到out.dat文件中
try(
FileOutputStream fos = new FileOutputStream("out.dat");
BufferedOutputStream bos = new BufferedOutputStream(fos);
DataOutputStream dos = new DataOutputStream( bos);
){
for(int i = 0;i < 10; i++){
int num = (int)(Math.random() * 1001) + 1000;
System.out.println(num) ;
dos.writeInt(num);
}
}
//out.dat文件中读出10个整数并排序
try(
FileInputStream fis = new FileInputStream("out.dat" );
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
){
int data[] = new int[10];
for(int i= 0;i<10;i++){
data[i] = dis.readInt();
}
Arrays.sort(data);
for(int i= 0;i<10;i++){
System. out. println(data[i]);
}
}
}
}
用文件流写入,然后读取。根据空格对数据进行分割,存放在数组中,并对数组排序,输出。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m