📄 汉诺塔的演示程序.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://zhidao.baidu.com/question/2596025.html -->
<!--STATUS OK--><HTML><HEAD><TITLE>求java版汉诺塔的演示程序_百度知道</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
title="“求java版汉诺塔的演示程序”的最新回答(RSS 2.0)"
href="http://zhidao.baidu.com/q?ct=20&qid=2596025&pn=65535&rn=25&tn=rssqb"
type=application/rss+xml rel=alternate><LINK href="汉诺塔的演示程序.files/iknow.css"
type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.2912" name=GENERATOR></HEAD>
<BODY>
<DIV id=usrbar><NOBR>
<SCRIPT language=JavaScript>document.write('<a href="http://passport.baidu.com/?login&tpl=ik&u='+escape(location.href)+'">登录</a> | <a href="http://passport.baidu.com/?reg&tpl=ik&u='+escape("http://zhidao.baidu.com/q?ct=24&cm=16&tn=ikpsreg2")+'&return_method=get&skip_ok=1" target="_blank">注册</a>');</SCRIPT>
</NOBR></DIV>
<TABLE class=hd cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD vAlign=top width=146><A href="http://zhidao.baidu.com/"><IMG height=46
alt=百度知道 src="汉诺塔的演示程序.files/logo-zhidao.gif" width=137 vspace=3
border=0></A></TD>
<TD>
<DIV id=tab><A href="http://news.baidu.com/">资讯</A> <A
href="http://www.baidu.com/">网页</A> <A
href="http://post.baidu.com/">贴吧</A> <STRONG>知道</STRONG> <A
href="http://mp3.baidu.com/">MP3</A> <A
href="http://image.baidu.com/">图片</A> <A
href="http://baike.baidu.com/">百科</A></DIV>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<FORM name=ftop action=/q method=get>
<TD noWrap><INPUT class=hdi tabIndex=1 maxLength=256 size=42
name=word> </TD>
<TD><A
href="http://www.baidu.com/search/zhidao_help.html">帮助</A></TD></TR></TBODY></TABLE>
<DIV style="MARGIN-TOP: 4px"><INPUT class=bnsrh tabIndex=2 type=submit value=搜索答案><INPUT
type=hidden value=17 name=ct><INPUT type=hidden value=0 name=pn><INPUT
type=hidden value=ikaslist name=tn><INPUT type=hidden value=10 name=rn><INPUT class=bnsrh style="MARGIN-LEFT: 8px" onclick=ask(ftop); tabIndex=3 type=button value=我要提问></DIV></FORM>
<FORM name=fask action=/q method=get><INPUT type=hidden value=17
name=ct><INPUT type=hidden value=0 name=pn><INPUT type=hidden value=ikask
name=tn><INPUT type=hidden value=12 name=rn><INPUT type=hidden name=word>
<INPUT type=hidden value=1 name=cm><INPUT type=hidden value=394496
name=lm></FORM></TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript>function ask(fn){document.fask.word.value=fn.word.value;fask.submit();}</SCRIPT>
<SCRIPT>
document.domain="baidu.com";
var url = escape(location.href);
function ctlSubmit(event) {
if (event.ctrlKey && event.keyCode == 13) { fdf.submit() }
}
function checkco(f,des)
{ if(f.co.value=="") {alert("请输入您的"+des); return false;}}
function limitpl(f,des)
{ if(f.co.value=="") {alert("请输入您的"+des); return false;} return limitChars(f.co,des,200);}
function checkcoAndsn(f,des)
{ if(f.co.value=="") {alert("请输入您的"+des); return false;} return limitChars(f.sn,"参考资料",60);}
function cReply(flag)
{ if (flag=="yes") {
document.getElementById('replyTB').style.display=""; }
if(flag=="no"){document.getElementById('replyTB').style.display="none"; }
location.hash="here";
}
function fixReply(flag){ setTimeout("cReply('"+flag+"')",300);}
function limitChars(obj,obj_Str,limit_len)
{
var c = getLeftChars(obj,limit_len);
if(c<0)
{
echo_str = obj_Str + "限定在"+limit_len+"个字以内,请缩短字数";
alert(echo_str);
obj.focus();
return false;
}
return true;
}
function getLeftChars(varField,limit_len) {
var i = 0;
var cap = limit_len*2;
var j=0;
var runtime = (varField.value.length>cap)?(cap+1):varField.value.length;
for (i = 0; i< runtime; i++) {
if (varField.value.charCodeAt(i) > 127 || varField.value.charCodeAt(i) == 94) {
j=j+2;
}
else {
j=j+1
}
}
var leftchars = cap - j;
return (leftchars);
}
function showcpro(cproshowstr)
{
document.getElementById("cproshow").innerHTML=cproshowstr;
}
</SCRIPT>
<DIV id=main><!--[if IE]>
<SCRIPT language=JavaScript>
var objmain = document.getElementById("main");
function updatesize(){ var bodyw = window.document.body.offsetWidth; if(bodyw <= 792) objmain.style.width="752px"; else if(bodyw >= 1016) objmain.style.width="976px"; else objmain.style.width="100%"; }
updatesize(); window.onresize = updatesize;
</SCRIPT>
<![endif]--><!-- 广告 -->
<DIV style="BACKGROUND: #d2eab8; MARGIN: 10px 0px 0px" align=center>
<TABLE height=90 cellSpacing=0 cellPadding=0 width=760 border=0>
<TBODY>
<TR>
<TD>
<DIV style="POSITION: relative"><EMBED style="POSITION: absolute"
pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash
src=http://gimg.baidu.com/img/mp3pic/20061215/104173107.swf width=760
height=90 type=application/x-shockwave-flash wmode="opaque"
quality="high"> <A style="CURSOR: pointer"
href="http://ma.baidu.com/ma/rcv/click.php?gid=1&sid=10868&wid=1&kid=1&opos=1&rpos=1&fn=iknow&url=http%3A%2F%2Fad.cn.doubleclick.net%2Fclk%3B63092992%3B15188298%3Bz%3Fhttp%3A%2F%2Fa.energysource-cn.com%2Fadclick.php%3Fbannerid%3D1066%26zoneid%3D%26source%3D%26dest%3Dhttp%253A%252F%252Fwww.peugeot.com.cn%252Fweb%252F307&key=e6575ec37af94342d120421ba8bb0572&s=cc7e6078d53e1d9b&sn=71"
target=_blank>
<DIV
style="Z-INDEX: 10; BACKGROUND: #cdeaf6; FILTER: alpha(opacity=0); LEFT: 0px; WIDTH: 760px; POSITION: relative; TOP: 0px; HEIGHT: 90px; moz-opacity: 0"></DIV></A></DIV></TD></TR></TBODY></TABLE></DIV><!-- 广告结束 -->
<DIV class=path><A href="http://zhidao.baidu.com/">百度知道</A> > <CC><A
href="http://zhidao.baidu.com/browse/74?lm=9">电脑/网络</A> > <A
href="http://zhidao.baidu.com/browse/93?lm=9">编程</A></CC></DIV>
<DIV id=right>
<DIV class="t3 bcy bgy"
style="BORDER-RIGHT: #64b7d7 1px solid; BORDER-TOP: #64b7d7 1px solid; BACKGROUND: #deeef4; BORDER-LEFT: #64b7d7 1px solid; BORDER-BOTTOM: medium none">相关问题</DIV>
<DIV class="b3 bcy mb12"
style="BORDER-RIGHT: #64b7d7 1px solid; BORDER-TOP: medium none; BORDER-LEFT: #64b7d7 1px solid; BORDER-BOTTOM: #64b7d7 1px solid"
?>
<TABLE class=wr cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=top width=10>• </TD>
<TD class=f14><A
href="http://zhidao.baidu.com/question/15611816.html?md=3"
target=_blank>关于汉诺塔游戏的问题</A></TD></TR>
<TR>
<TD vAlign=top width=10>• </TD>
<TD class=f14><A href="http://zhidao.baidu.com/question/2809039.html?md=3"
target=_blank>联想i720和波导D660相比,那个好点?</A></TD></TR>
<TR>
<TD vAlign=top width=10>• </TD>
<TD class=f14><A
href="http://zhidao.baidu.com/question/10565621.html?md=3"
target=_blank>用波导D660的请进</A></TD></TR></TBODY></TABLE></DIV>
<DIV class=mb12><A title=订阅“求java版汉诺塔的演示程序”的最新回答
href="http://zhidao.baidu.com/q?ct=20&qid=2596025&pn=65535&rn=25&tn=rssqb"
target=_blank><IMG height=14 src="汉诺塔的演示程序.files/rss_xml.gif" width=36
align=absMiddle border=0></A> 订阅该问题</DIV>
<DIV class=cprodiv id=cproshow></DIV>
<DIV class="b4y gray mb12">您想在自己的网站上展示百度“知道”上的问答吗?来<A
href="http://zhidao.baidu.com/iknowcode.html" target=_blank>获取免费代码</A>吧!
<HR SIZE=1>
如要投诉或提出意见建议,请到<BR><A
href="http://post.baidu.com/f?kw=%B0%D9%B6%C8%D6%AA%B5%C0%CD%B6%CB%DF"
target=_blank>百度知道投诉吧</A>反馈。 </DIV></DIV>
<DIV id=center>
<DIV class=bai>
<DIV class="t3_favor bcg bgg"><SPAN style="PADDING-RIGHT: 10px; FLOAT: right"><A
onclick="window.open('http://cang.baidu.com/do/add?it='+encodeURIComponent(document.title)+'&iu='+encodeURIComponent(location.href)+'&tn=%E7%9F%A5%E9%81%93%E9%97%AE%E9%A2%98%2C&fr=ik#nw=1','_s','scrollbars=no,width=600,height=450,right=75,top=20,status=no,resizable=yes'); return false;"
href="http://cang.baidu.com/do/add" target=_blank>添加到搜藏</A></SPAN><SPAN
style="PADDING-LEFT: 10px"><CS2 />已解决</SPAN></DIV>
<DIV class="b3 bcg mb12">
<DIV class=p90>
<DIV class="f14 B wr"><CQ>求java版汉诺塔的演示程序</CQ></DIV>
<DIV class=wr><SPAN class=red><IMG height=16 src="汉诺塔的演示程序.files/icn_point.gif"
width=16 align=absMiddle> 悬赏分:100</SPAN> - <SPAN class=gray>解决时间:2006-1-18
12:24</SPAN></DIV>
<DIV class="f14 wr"><CD>求java版汉诺塔的演示程序,要求可以演示也可以自己玩的,界面最好做的漂亮点~</CD></DIV>
<DIV class="f14 wr"><B>问题补充:</B>思路是很简单,但是要可以用视图演示出来 <BR>这块比较麻烦
<BR>希望能更详细,功能更多些</DIV>
<DIV class=gray align=right>提问者: <A
href="http://passport.baidu.com/?detail&aid=7&default_tab=2&un=kokomalo"
target=_blank>kokomalo</A> - <A
href="http://www.baidu.com/search/zhidao_help.html#n5" target=_blank>秀才 二级</A>
</DIV></DIV></DIV>
<DIV class="t3 bcr bgr"><IMG height=22 src="汉诺塔的演示程序.files/icn_best.gif"
width=24 align=absMiddle>最佳答案</DIV>
<DIV class="b3 bcr mb12">
<DIV class=p90>
<DIV class="f14 wr"><CA>源代码: <BR>/** <BR> *本程序完成的功能是利用汉递规算法实现汉诺塔的动态演示程序
<BR> */ <BR>import javax.swing.*; <BR>import java.awt.geom.*; <BR>import
java.awt.event.*; <BR>import java.awt.*; <BR>public class Hanio extends JApplet
implements ActionListener, Runnable <BR>{ <BR> /** <BR>*diskNum是盘子的数量
<BR>*/ <BR> private int diskNum ; <BR> /** <BR>*各个组件的句柄 <BR>*/
<BR> private JButton begin, stop; <BR> private JLabel lDiskNum;
<BR> private JTextField text; <BR> JPanel pane; <BR> /**
<BR>*定义一个线程句柄 <BR>*/ <BR> private Thread animate; <BR> /**
<BR>*定义a,b,c三个柱子上是否有盘子,有哪些盘子 <BR>*/ <BR> private int adisk[];
<BR> private int bdisk[]; <BR> private int cdisk[]; <BR> public
void init() <BR> { <BR> <BR> Container content =
getContentPane(); <BR> content.setLayout(new BorderLayout());
<BR> lDiskNum = new JLabel(盘子的数目); <BR>
<BR> text = new JTextField(8); <BR> <BR> begin
= new JButton(开始); <BR> begin.addActionListener(this);
<BR> <BR> stop = new JButton(停止);
<BR> stop.addActionListener(this); <BR>
<BR> pane = new JPanel(); <BR> pane.setLayout(new
FlowLayout()); <BR> pane.add(lDiskNum);
<BR> pane.add(text); <BR> pane.add(begin);
<BR> pane.add(stop); <BR> content.add(pane,
BorderLayout.SOUTH); <BR> <BR> } <BR> public void
paint(Graphics g) <BR> { <BR> Graphics2D g2D = (Graphics2D)g;
<BR> Ellipse2D.Double ellipse;
<BR> g2D.setPaint(getBackground()); <BR> if(adisk != null)
<BR> { <BR> /** <BR>*消除以前画的盘子 <BR>*/
<BR> for(int j=adisk.length, i=0; --j>=0; i++ )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -