已知两个整数,求解,这两个整数间有多少素数,并实现输出。
import java.util.Scanner;
class PrimeNumber
{
public static void main(String []args){
while(true)
{
run();
}
}
public static void run(){
System.out.println("请输入起始整数");
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
int start=Integer.parseInt(str);
System.out.println("请输入结束整数");
Scanner scanner1=new Scanner(System.in);
String str1=scanner1.nextLine();
int end=Integer.parseInt(str1);
if(start<=1||end<start)
System.out.println("输入有误,请重新输入,起始值值不能为1、0或者负数或者b值要大于a值");
else
primeNum(start,end);
}
public static void primeNum(int a,int b){
int count=0;
String s="";
boolean flag=true;
for(int i=a;i<=b;i++)
{
for(int j=2;j<(int)Math.sqrt(i)+1;j++)
{
if(i%j==0)
{
flag=false;
break;
}
else
{
flag=true;
}
}
if(flag){
count++;
s=s+i+", ";
}
}
System.out.println("整数"+a+"到整数"+b+"之间的素数个数为"+count+"(个)。 素数分别为");
System.out.println(s);
}
}
输入任意整数,会输出相应结果;