编写程序,要求从上题得到的out.dat中读出100个整数,程序中按照从小到大的顺序对这100个数排序,在屏幕上输出,同时写到同一个名为sort.dat的文件中。读出数据使用datainputstre
时间: 2023-05-04 09:01:07 浏览: 153
题目要求编写程序,从上题得到的out.dat中读出100个整数,程序中按照从小到大的顺序对这100个数排序,在屏幕上输出,同时将排序后的数据写到同一文件sort.dat的文件中。读出数据使用datainputstream。
相关问题
编写程序,随机产生100个100-200的整数,使用PrintStream对象输出到文件output.txt中,然后使用DataInputStream类的readInt()方法读出数据,按照从小到大的顺序对100个数排序,在屏幕上输出,同时使用DataOutputStream类的writeInt(int i)方法写到名为sort.dat的文件中。
以下是Java代码实现:
```java
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
// 生成100个100-200之间的随机整数
Random rand = new Random();
int[] nums = new int[100];
for (int i = 0; i < 100; i++) {
nums[i] = rand.nextInt(101) + 100;
}
// 输出到文件output.txt
try (PrintStream ps = new PrintStream(new FileOutputStream("output.txt"))) {
for (int i = 0; i < 100; i++) {
ps.println(nums[i]);
}
} catch (IOException e) {
e.printStackTrace();
}
// 读入数据并排序
Arrays.sort(nums);
// 输出到屏幕并写到文件sort.dat
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("sort.dat"))) {
for (int i = 0; i < 100; i++) {
System.out.println(nums[i]);
dos.writeInt(nums[i]);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
实现过程:
1. 使用`Random`类生成100个100-200之间的随机整数,存储在`nums`数组中。
2. 使用`PrintStream`类将`nums`数组中的每个整数输出到文件`output.txt`中。
3. 使用`Arrays.sort()`方法对`nums`数组进行排序。
4. 使用`DataOutputStream`类将排序后的每个整数输出到文件`sort.dat`中,并同时在屏幕上输出。
阅读全文