Climbing的专栏

Life is limited, but art is long

huang ClimbingID:hpdlzu80100
[修改头像]
1562次访问,排名2万外好友5人,关注者6
热爱生活,积极向上,流自己的汗,吃自己的饭!
hpdlzu80100的文章
原创 23 篇
翻译 0 篇
转载 2 篇
评论 0 篇
最近评论
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
收藏
    相册
    存档

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

    新一篇: 最大公约数计算(Find the Greatest Common Divisior)

    //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;
            
         }

     
     }
     

    发表于 @ 2008年04月14日 12:46:00|评论(loading...)|编辑

    旧一篇: 完美数遍历(Find perfect number)

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © Climbing