java编写程序,随机产生100个100-200的整数,使用PrintStream对象输出到文件output.txt中,然后使用DataInputStream类的readInt()方法读出数据,按照从小到大的顺序对100个数排序,在屏幕上输出,同时使用DataOutputStream类的writeInt(int i)方法写到名为sort.dat的文件中。
时间: 2024-02-25 11:54:39 浏览: 22
好的,让我们来一步步完成这个任务。
首先,我们需要使用`PrintStream`对象将100个100-200的整数输出到`output.txt`文件中。可以使用以下代码:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建PrintStream对象
PrintStream ps = new PrintStream(new FileOutputStream("output.txt"));
// 产生100个100-200的整数并输出到文件
for (int i = 0; i < 100; i++) {
int num = (int) (Math.random() * 101) + 100;
ps.println(num);
}
// 关闭PrintStream对象
ps.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
接下来,我们需要使用`DataInputStream`类的`readInt()`方法读取`output.txt`文件中的数据,并进行排序。可以使用以下代码:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建DataInputStream对象
DataInputStream dis = new DataInputStream(new FileInputStream("output.txt"));
// 读取数据并存入数组
int[] nums = new int[100];
for (int i = 0; i < 100; i++) {
nums[i] = dis.readInt();
}
// 关闭DataInputStream对象
dis.close();
// 对数组进行排序
Arrays.sort(nums);
// 输出排序后的结果
for (int i = 0; i < 100; i++) {
System.out.println(nums[i]);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
最后,我们需要使用`DataOutputStream`类的`writeInt(int i)`方法将排序后的数据写入`sort.dat`文件中。可以使用以下代码:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建DataInputStream对象
DataInputStream dis = new DataInputStream(new FileInputStream("output.txt"));
// 读取数据并存入数组
int[] nums = new int[100];
for (int i = 0; i < 100; i++) {
nums[i] = dis.readInt();
}
// 关闭DataInputStream对象
dis.close();
// 对数组进行排序
Arrays.sort(nums);
// 创建DataOutputStream对象
DataOutputStream dos = new DataOutputStream(new FileOutputStream("sort.dat"));
// 将排序后的数据写入文件
for (int i = 0; i < 100; i++) {
dos.writeInt(nums[i]);
}
// 关闭DataOutputStream对象
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这样,我们就完成了将100个100-200的整数随机输出到`output.txt`文件中,然后使用`DataInputStream`类的`readInt()`方法读取并排序,最后使用`DataOutputStream`类的`writeInt(int i)`方法将排序后的数据写入`sort.dat`文件中的任务。