素数遍历方法比较(Find the prime number, with performance monitoring function)

// Find the prime number, with performance monitoring function
// Java how to program, 5/e, Exercise 6.26
import  javax.swing. * ;
import  java.awt. * ;
import  java.awt.event. * ;
public   class  IsPrime  extends  JApplet  implements  ActionListener  {
 
int MAX;
 JLabel MAXLabel;
 JTextField MAXField;
 JTextArea output1,output2;
 JScrollPane scroller1,scroller2;
 
public void init()
 
{
     
     Container  container
=getContentPane();
     container.setLayout(
new FlowLayout());
     
     MAXLabel
= new JLabel("Enter the search range (maximum):");
     container.add(MAXLabel);
     
     MAXField
=new JTextField(10);
     container.add(MAXField);
     
     MAXField.addActionListener(
this);
     
     output1
=new JTextArea(10,17);
     scroller1
=new JScrollPane(output1);
     container.add(scroller1);
     output2
=new JTextArea(10,17);
     scroller2
=new JScrollPane(output2);
     container.add(scroller2);
     

 }

 
 
public void actionPerformed (ActionEvent event)
 
{
     
int counter=0;
     MAX
=Integer.parseInt(MAXField.getText());
     
long t1=System.currentTimeMillis();
     
for(int i=2;i<=MAX;i++)
         
{
         
if (IsPrimeMethod1(i))
             
{output1.append(i+"   ");
             counter
++;
             
if (counter%5==0)
                 output1.append(
"/n");
         }

         }

    
long t2=System.currentTimeMillis();
    
    output1.append(
"/n"+"Time taken in milliseconds is: "+Long.toString(t2-t1));
    
    counter
=0;
    t1
=System.currentTimeMillis();
    
for(int i=2;i<=MAX;i++)
     
{
     
if (IsPrimeMethod2(i))
        
{output2.append(i+"   ");
         counter
++;
         
if (counter%5==0)
             output2.append(
"/n");
     }

     }

    t2
=System.currentTimeMillis();
    output2.append(
"/n"+"Time taken in milliseconds is: "+Long.toString(t2-t1));
    

 }

 
 
public boolean IsPrimeMethod1(int argument)
{
     
int flag=0;
     
for (int i=2;i<=Math.sqrt(argument);i++)
     
{
          
if (argument%i==0)
              
{flag=1;break;}
     }

     
return flag==0;
        
     }

 
 
public boolean IsPrimeMethod2(int argument)
 
{
     
int flag=0;
     
for (int i=2;i<argument;i++)
     
{
          
if (argument%i==0)
              
{flag=1;break;}
     }

     
return flag==0;
        
     }

 
 }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值