Climbing的专栏
Life is limited, but art is long
hpdlzu80100
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
huang Climbing
ID:hpdlzu80100
[修改头像]
共
1562
次访问,排名
2万外
好友
5
人,关注者
6
人
热爱生活,积极向上,流自己的汗,吃自己的饭!
hpdlzu80100的文章
原创 23 篇
翻译 0 篇
转载 2 篇
评论 0 篇
最近评论
软件项目交易
订阅我的博客
文章分类
IT Industry and Career
(RSS)
Java Learning
(RSS)
Temp
(RSS)
收藏
相册
存档
2008年05月(1)
2008年04月(24)
素数遍历方法比较(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)
评论:没有评论。
发表评论
姓 名:
主 页:
校验码:
看不清,换一张
登录