「汉诺塔java」汉诺塔Java小游戏

博主:adminadmin 2022-12-18 07:45:06 89

本篇文章给大家谈谈汉诺塔java,以及汉诺塔Java小游戏对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA汉诺塔

import java.awt.*;

public class TowerPoint //公共类TowerPoint

{

int x,y; //定义2个int类型的变量

boolean 有盘子; //定义一个boolean类型的变量

Disk 盘子=null; //初始化一个对象"盘子"并赋值为空

HannoiTower con=null; //初始化一个HannoiTower类的对象"con"并赋值为空

public TowerPoint(int x,int y,boolean boo) //构造函数,有3个参数,x,y,boo

{

this.x=x; //将参数赋给当前x

this.y=y; //将参数赋给当前y

有盘子=boo; //将boo赋给"有盘子"

}

public boolean 是否有盘子() //定义一个返回boolean类型的方法"是否有盘子"

{

return 有盘子; //返回boolean类型的"有盘子"

}

public void set有盘子(boolean boo) //set方法,并且参数为boolean

{

有盘子=boo; //将boo赋给有盘子

}

public int getX() //取得x方法

{

return x; //返回x

}

public int getY()//取得y方法

{

return y; //返回y

}

public void 放置盘子(Disk 盘子,HannoiTower con) //定义一个有2个参数的"放置盘子"方法。参数是Disk类和HannoiTower类

{

this.con=con; //当前con等于参数con

con.setLayout(null); //调用on对象的方法setLayout,并设置为空

this.盘子=盘子; //当前盘子等于参数盘子

con.add(盘子); //con对象的add方法,加入"盘子"对象

int w=盘子.getBounds().width; //定义并给一个int类型的w变量一个值,值为"盘子.getBounds().width"

int h=盘子.getBounds().height; //定义并给一个int类型的h变量一个值,值为"盘子.getBounds().height"

盘子.setBounds(x-w/2,y-h/2,w,h);//调用"盘子"对象的setBounds方法,并把传递值

有盘子=true;//boolean类型的对象"有盘子"等于true

con.validate(); //调用con对象的validate方法

}

public Disk 获取盘子() //定义"获取盘子"方法,方法返回Disk对象

{

return 盘子; //返回盘子

}

}

-----------------------另外说一下,楼主太抠门了!!!!!!!!只给5分-----------------------

java中汉诺塔的算法问题

class HanRuoTa {

static long s=0;

public static void main(String args[]) {

int n =3;

System.out.println("汉诺塔层数为" + n);

System.out.println("移动方案为:" );

hanoi(n, 'a', 'b', 'c');

System.out.println("需要移动次数:"+s);

}

static void hanoi(int n, char a, char b, char c) {

if (n 0) {

hanoi(n - 1, a, c, b);

move(a, b);

hanoi(n - 1, c, b, a);

s++;

}

}

static void move(char x, char y) {

System.out.println(x + "-" + y + "\t");

}

}

运行结果:

汉诺塔层数为3

移动方案为:

a-b

a-c

b-c

a-b

c-a

c-b

a-b

需要移动次数:7

java新手汉诺塔问题最终的输出结果如下(问题规模为3),其中盘子的编号是汉诺塔问题中从上到下的顺序。

try..catch用于捕获initProperties()和init()这两个方法执行时候的异常,至于initProperties()和init()这两个方法为何会出异常,就看你具体的业务逻辑了。

try中的代码块儿如果一旦出现异常则在catch中进行捕获,showMessageDialog是JOptionPane封装或者说提供的一个显示一个带有确定按钮的模态对话框的方法。

几个参数中

"Failed to init.\n" + ex 也就是第二个参数是消息框弹出消息的内容。

"BinaryRain 也就是第三个参数是消息框的标题。

JOptionPane.ERROR_MESSAGE 也就是第四个参数,是消息框的类型,表示错误提示,弹出来的消息框有个红色的叉叉标识,如JOptionPane.WARNING_MESSAGE,表示警告提示,弹出来的消息框有个叹号标识。

汉诺塔java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于汉诺塔Java小游戏、汉诺塔java的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-18,除非注明,否则均为首码项目网原创文章,转载请注明出处。