import java.io.*; public class PrimeNumberWriter { public static void main(String[] args) { int lowerBound = 1; // 下限 int upperBound = 100; // 上限 String filename = "prime_numbers.dat"; // 文件名 try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(filename))) { for (int i = lowerBound; i <= upperBound; i++) { if (isPrime(i)) { dos.writeInt(i); // 将素数写入文件 } } } catch (IOException e) { e.printStackTrace(); } } // 判断是否为素数 private static boolean isPrime(int n) { if (n <= 1) { return false; } for (int i = 2; i <= Math.sqrt(n); i++) { if (n % i == 0) { return false; } } return true; } } 这段代码为什么没有输出
时间: 2023-06-16 13:02:57 浏览: 99
C#中static void Main(string[] args) 参数示例详解
这段代码没有输出是因为它并没有写任何输出语句。它的作用是将1到100之间的素数写入名为“prime_numbers.dat”的文件中。如果要在控制台输出这些素数,可以在写入文件的同时在控制台输出,如下所示:
```
import java.io.*;
public class PrimeNumberWriter {
public static void main(String[] args) {
int lowerBound = 1; // 下限
int upperBound = 100; // 上限
String filename = "prime_numbers.dat"; // 文件名
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(filename))) {
for (int i = lowerBound; i <= upperBound; i++) {
if (isPrime(i)) {
System.out.println(i); // 在控制台输出素数
dos.writeInt(i); // 将素数写入文件
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
// 判断是否为素数
private static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
```
在这段代码中,每当发现一个素数时,它会将该素数输出到控制台,并将其写入文件。
阅读全文