找出10~100之间所有姐妹素数写入到文件中,再从文件读取打印到控制台。
所谓姐妹素数是指相邻两个奇数均为素数。
import java.io.*;
public class JieMeiShusu {
public static boolean isPrime(int n) {
for(int k=2;k<=Math.sqrt(n);k++) {
if(n%k==0)
return false;
}
return true;
}
public static void main(String[] args) throws Exception{
try {
FileOutputStream file=new FileOutputStream("D:/sushu.txt");
DataOutputStream out=new DataOutputStream(file);
for(int n=11;n<100;n+=2) {
if(isPrime(n)&&isPrime(n+2)) { //两个相邻奇数是否为素数
out.writeInt(n); //将素数写入文件
out.writeInt(n+2);
}
}
out.close();
}catch(IOException e) {}
try {
FileInputStream file=new FileInputStream("D:/sushu.txt");
DataInputStream in=new DataInputStream(file);
int n1,n2;
while(((n1 =in.readInt())!=-1)&&((n2 =in.readInt())!=-1)) {
System.out.println(n1+"和"+n2+"是姐妹素数");
}
in.close();
}catch(EOFException e) {}
catch(IOException e) {}
}
}
运行效果: