JAVA判断a到b之间有多少个素数,并以文件形式输出所有素数。 求大神迅猛...
发布网友
发布时间:2024-05-29 01:17
我来回答
共1个回答
热心网友
时间:2024-07-19 10:47
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class PrimeDemo {
public static void main(String[] args) {
System.out.println("Please enter two integers , separated or ended by RETURN:"); //请输入两个整数 以回车间隔或结束
Scanner in1 = new Scanner(System.in);
Scanner in2 = new Scanner(System.in);
int a = in1.nextInt();
int b = in2.nextInt();
String s="The primes between "+a+" and "+b+":\r\n"; //包含在a和b之间的素数为...
for (int i = a; i < b; i++) {
if (Primet.isPrime(i) && i != 1) {
System.out.println(i);
s=s+i+" ";
}
}
save(s);
}
static boolean isPrime(int n) { //求素数方法
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
static void save(String s){ //保存方法
System.out.println("Please enter the filename of the file to save without extension:"); //请输入要保存文件的文件名 不要扩展名
Scanner in3 = new Scanner(System.in);
String fn=in3.next();
try {
File f=new File("c:\\"+fn+".txt"); //生成的保存文件的路径
f.createNewFile();
PrintWriter pw=new PrintWriter(f);
pw.write(s);
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
--------------------------------------------------------------
实例:
1.输入1 回车
2.输入234 回车
得到1到234之间的所有素数
3.输入a 回车
在C盘生成名为a的txt文件 打开可见内容为:
The primes between 1 and 234:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233
测试过,可以用,祝好运