//遍历2以上N的平方根以下的每一个整数,是不是能整除N
一,DOS界面
public class PrimeNumber1 {
public static void main(String args[]) {
int N = 100;
int p[]=new int[50];
p[0] = 2;// 放入第一个素数,有人说2不是素数,如果你是其中一员,就改成3吧
int nu = 1;
boolean bflag = true;
for(int i = 3;i <N; ++i)
{
bflag = true;
int iTemp = (int)Math.sqrt((float)i);
for (int j = 2; j <=iTemp; ++j)
{
if(i%j == 0)
{
bflag = false;
break;
}
}
if(bflag)
{
p[nu++] =(int)i;
}
}
for(int l=0;l<=nu-1;l++)
System.out.print(p[l]+" ");
}
}
public class PrimeNumber1 {
public static void main(String args[]) {
int N = 100;
int p[]=new int[50];
p[0] = 2;// 放入第一个素数,有人说2不是素数,如果你是其中一员,就改成3吧
int nu = 1;
boolean bflag = true;
for(int i = 3;i <N; ++i)
{
bflag = true;
int iTemp = (int)Math.sqrt((float)i);
for (int j = 2; j <=iTemp; ++j)
{
if(i%j == 0)
{
bflag = false;
break;
}
}
if(bflag)
{
p[nu++] =(int)i;
}
}
for(int l=0;l<=nu-1;l++)
System.out.print(p[l]+" ");
}
}
二,带弹出窗口的:(怎样在弹出窗口中一次输出所有的素数还没解决,现在只能在DOS中输出结果)
import javax.swing.JOptionPane;
public class PrimeNumber1Pane
{
public static void main(String args[])
{
while (true)
{
String b = JOptionPane.showInputDialog("Enter figure that you want to beg prime number!");
int N = Integer.parseInt(b);
int p[] = new int[50];
PrimeNumber1Pane a = new PrimeNumber1Pane();
int nu = a.primeNumber(p, N);
for (int l = 0; l <= nu - 1; l++)
System.out.print(p[l] + " ");
int answer = JOptionPane.showConfirmDialog(null, "End program?", "Want to end?", JOptionPane.YES_NO_OPTION);
//字符串“End program?”可以被别的字符串取代,这将是出现在带Yes/No按钮的窗口中的字符口串,字符串“Want to end?”也可被取代,并将出现在窗口的标题中。
//JOptionPane.YES_NO_OPTION表示你需要一个带Yes/No的窗口。
if (answer == JOptionPane.YES_OPTION)
System.exit(0);
else if (answer == JOptionPane.NO_OPTION)
System.out.println("/nOne more time");
}
//else
//System.out.println("This is impossible");
}
public int primeNumber(int p[],int N)//p为放入素数的首地址,N为要求素数的数,返回为素数的个数
{
p[0] = 2;// 放入第一个素数,有人说2不是素数,如果你是其中一员,就改成3吧
int nu = 1;
boolean bflag = true;
for (int i = 3; i < N; ++i)
{
bflag = true;
int iTemp = (int)Math.sqrt((float)i);
for (int j = 2; j <= iTemp; ++j)
{
if (i % j == 0)
{
bflag = false;
break;
}
}
if (bflag)
{
p[nu++] = (int)i;
}
}
return nu;
}
}
import javax.swing.JOptionPane;
public class PrimeNumber1Pane
{
public static void main(String args[])
{
while (true)
{
String b = JOptionPane.showInputDialog("Enter figure that you want to beg prime number!");
int N = Integer.parseInt(b);
int p[] = new int[50];
PrimeNumber1Pane a = new PrimeNumber1Pane();
int nu = a.primeNumber(p, N);
for (int l = 0; l <= nu - 1; l++)
System.out.print(p[l] + " ");
int answer = JOptionPane.showConfirmDialog(null, "End program?", "Want to end?", JOptionPane.YES_NO_OPTION);
//字符串“End program?”可以被别的字符串取代,这将是出现在带Yes/No按钮的窗口中的字符口串,字符串“Want to end?”也可被取代,并将出现在窗口的标题中。
//JOptionPane.YES_NO_OPTION表示你需要一个带Yes/No的窗口。
if (answer == JOptionPane.YES_OPTION)
System.exit(0);
else if (answer == JOptionPane.NO_OPTION)
System.out.println("/nOne more time");
}
//else
//System.out.println("This is impossible");
}
public int primeNumber(int p[],int N)//p为放入素数的首地址,N为要求素数的数,返回为素数的个数
{
p[0] = 2;// 放入第一个素数,有人说2不是素数,如果你是其中一员,就改成3吧
int nu = 1;
boolean bflag = true;
for (int i = 3; i < N; ++i)
{
bflag = true;
int iTemp = (int)Math.sqrt((float)i);
for (int j = 2; j <= iTemp; ++j)
{
if (i % j == 0)
{
bflag = false;
break;
}
}
if (bflag)
{
p[nu++] = (int)i;
}
}
return nu;
}
}