黑马程序员技术交流社区
标题:
求素数,怎么破?
[打印本页]
作者:
adolph
时间:
2015-3-15 00:43
标题:
求素数,怎么破?
//输入上限与下限,输出范围内的素数
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Sushu extends Applet implements ActionListener
{
Label lb1,lb2,result;
TextField in1,in2;
TextArea out1;
Button btn1,btn2;
int a=0,b=0;
String s="";
public void init()
{
result=new Label("输出框");
lb1=new Label("上限");
lb2=new Label("下限");
in1=new TextField(5);
in2=new TextField(5);
out1=new TextArea();
out1.setEditable(false);//设为不可编辑
btn1=new Button("输出素数");
btn2=new Button("关闭");
add(lb1);
add(in1);
add(lb2);
add(in2);
add(btn1);
add(btn2);
add(result);
add(out1);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
int k=0;//设计数器
if (e.getSource()==btn1)//响应按钮"输出素数"的动作
{
out1.setText("\n");//新行输出
a=Integer.parseInt(in1.getText());
b=Integer.parseInt(in2.getText());
//判断是否素数,是则计数并加入输出子串s
Loop:
for(int i=b;i<a;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
continue Loop;
}
k++;
if(k%10==0) //每10个数加个回车
s=s+i+","+"\n";
else
s=s+i+",";
}
result.setText(b+"与"+a+"之间共有素数"+k+"个,输出如下:");
out1.setText(s);
}
else System.exit(0);//点击"关闭"退出程序
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2