如何编写一个求质数的JAVA简单程序

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:13:00
就是输入一个数字
JAVA输出这个数字以前的所有质数
例如输入20
JAVA输出2 3 5 7 11 13 17 19
这些该用哪些指令啊?我一头雾水啊

呵呵,求质数首先要知道它在数学上的定义,即除了1和其本身之外,不被任何数整除.
既然知道这个定义了,你还怕什么,照它的定义来就得了..
首先找2到这个数之间的数能否把这个数整除,如果有,就不是质数,没有,则就是质数了.
有根据数学上质数有关的一些原理,其实只需要判断2到其平方根之间的数能否把这个数整除就行了..
则用JAVA只需要解决4个问题
1接受输入
2求平方根
3循环判断
4输出
下面是程序代码:
import java.util.Scanner;
class Prime
{
int num; // 接受存放输入的数字
void inputNum()
{
Scanner sr = new Scanner(System.in);
if(sr.hasNextInt())
num = sr.nextInt();
}
void calcAndOutput()
{
for(int i=2;i<num;i++)
{
int j;
int sqr = (int)Math.sqrt(i);
for(j=2;j<=sqr;j++)
if(i%j==0) break;
if(j>sqr)
{
System.out.print(i + " ");
}
}
System.out.println();
}
public static void main(String args[])
{
Prime p = new Prime();
p.inputNum();
p.calcAndOutput();
}
}

其实,建议去下个JDK帮助文档

import java.util.Scanner;