用Java语言 找出10~100之间所有姐妹素数写入到文件中,再从文件读取打印到控制台。 所谓姐妹素数是指相邻两个奇数均为素数。(可编写一个求素数的方法)
时间: 2024-02-12 15:06:03 浏览: 77
以下是用 Java 语言实现的代码:
```java
import java.io.*;
public class SisterPrime {
public static void main(String[] args) {
String filename = "sister_prime.txt";
try {
// 创建文件并清空内容
File file = new File(filename);
PrintWriter writer = new PrintWriter(file);
writer.print("");
writer.close();
// 查找姐妹素数并写入文件
for (int i = 11; i <= 99; i += 2) {
if (isPrime(i) && isPrime(i + 2)) {
String content = i + " " + (i + 2) + "\n";
FileWriter fw = new FileWriter(file, true);
fw.write(content);
fw.close();
}
}
// 从文件读取并打印
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
System.out.println("姐妹素数:");
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
System.out.println("发生错误:" + e.getMessage());
}
}
// 判断是否为素数
public 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;
}
}
```
该程序首先创建一个名为 "sister_prime.txt" 的文件并清空其内容,然后查找 10~100 之间的姐妹素数并写入该文件中,最后从文件中读取并打印出来。
其中,isPrime 方法用于判断一个数是否为素数。该方法从 2 到该数的平方根遍历所有可能的因子,如果发现该数存在因子则返回 false,否则返回 true。
阅读全文