CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

特菜的鸟请教老鸟!

楼主index_2004(云飘飘)2004-12-03 17:42:04 在 Java / 框架、开源 提问

import     javax.swing.*;  
  import   java.awt.*;  
  import   java.awt.event.*;  
   
  public   class   HannoiTower(int   number,int   w,int   h,char[]   name,TextArea   text)  
   
  {  
        towerName=name;  
        n=number;  
        width=w;  
        height=h;  
      text=text;  
      setLayout(null);  
      disk=new   Disk[n];  
      point=new   TowerPoint[3*n];  
      int   space=20;  
      for(int   i=0;i<n;i++)  
    {  
      point[i]=new   TowerPoint(40+width,100+space,false);  
      space=space+height;  
   
  }  
  space=20;  
  for(int   i=n;i<2*n;i++)  
  {  
  point[i]=new   TowerPoint(160+width,100+space,false);  
  space=space+height;  
  }  
  space=20;  
  for(int   i=2*n;i<3*n;i++)  
  {  
  point[i]=new   TowerPoint(160+width,100+space,false);  
  space=space+height;  
  }  
  int   tempwidth=width;  
  int   sub=(int)(tempwidth*0.2);  
  for(int   i=n-1;i>=0;i--)  
  {  
  disk[i]=new   Disk(i,this);  
  disk[i].setSize(tempwidth,height);  
  tempwidth=tempwidth-sub;  
  }  
  for(int   i=0;i<n;i++)  
  {  
  poin[i].putdisk(disk[i],this);  
  if(i>=1)  
  disk[i].setisshang(true);  
  }  
    }  
   
  public   void   paintComponent(Graphics   g)  
  {  
  super.paintComponent(g);  
  g.drawLine(point[0].getX(),point[0].getY(),point[n-1].getX(),point[n-1].getY());  
  g.drawLine(point[n].getX(),point[n].getY(),point[2*n-1].getX(),point[2*n-1].getY());  
  g.drawLine(point[2*n-1].getX(),point[2*n-1].getY(),point[3*n-1].getX(),point[3*n-1].getY());  
  g.drawLine(point[n-1].getX()+width,point[n-1].getY(),point[3*n-1].getX()-width,point[3*n-1].getY());  
  int   leftx=pont[n-1].getX()-width;  
  int   lefty=point[n-1].getY();  
  int   w=(point[3*n-1].getX()+width)-(point[n-1].getX().width);  
  int   h=height/2;  
  g.setColor(Color.orange);  
  g.fillRect(letfx,lefty,w,h);  
  g.setColor(Color.red);  
  int   Size=4;  
  for(int   i=0;i<3*n;i++)  
  {  
  g.fillOval(point[i].getX()-size/2,point[i].getY().size/2,size,size);  
  }  
  g.drawString(""+towerName[0]+"塔",point[n-1].getX(),point[n-1].getY()+30);  
  g.drawString(""+towerName[1]+"塔",point[2*n-1].getX(),point[n-1].getY()+30);  
  g.drawString(""+towerName[0]+"塔",point[3*n-1].getX(),point[n-1].getY()+30);  
  g.drawString("将全部盘子从"+towerName[0]+"塔搬运到"+towerName[1]+"塔或"+towerName[2]+"塔",  
  point[n-1].getX(),point[n-1].getY(0+80);  
  }  
  public   moveDisk(int   number,char   one,char   two,char   three)  
  {  
  if(n==1)  
  {  
  text.append(""+one+"dao:"+three+"ta/n");  
  Disk   disk=getshmiandisk(one0;  
  int   startI=getshmianposition(one);  
  int   endI=geshmianshposition(three);  
  if(disk!=null)  
  {  
  point[endI].putdisk(disk,this);  
  point[startI].sethavedisk(false);  
  try{  
  thread.sleep(1000);  
  }  
  catch(Exception   ee)  
   
  {  
  }  
  }  
  }  
  else   {  
  movedisk(n-1,one,three,two);  
  text.append(""+one+"dao:"+three+"ta/n");  
  Disk   disk=getshmiandisk(one);  
  int   startI=getshmianposition(one);  
  int   endI=getshmianshposition(three);  
  if(disk!=null)  
  {  
  point[endI].putdisk(disk,this);  
  point[startI].sethavedisk(false);  
  tyr{  
  thread.sleep(1000);  
  }  
  catch(Exception   ee)  
  {}  
  movedisk(n-1,two,one,three);  
  }  
                  }  
  }  
  public     Disk   getshmiandisk(char   name)  
   
  {  
  Disk   disk=null;  
  if(name==towerName[0])  
  {  
  for(int   i=0;i<n;i++)  
  {  
  if(point[i].ishavedisk()==true)  
  {  
  disk=point[i].getdisk();  
  break;  
  }  
    }  
      }  
      if(name==towerName[1])  
      {  
      for(int   i=n;i<2*n;i++)  
      {  
      if(point[i].ishavedisk()==true)  
      {  
      disk=point[i].getdisk();  
      break;  
      }  
        }  
                      }  
    if(name==towerName[2])  
    {  
    for(int   i=2*n;i<3*n;i++)  
    {  
    if(point[i].ishavedisk()==true)  
    {  
    disk=point[i].getdisk();  
    break;  
    }  
      }  
                        }  
   
  return   disk;  
   
  }  
  public   int   getshmianshposition(char   name)  
  {  
  int   position=0;  
  if(name==towerName[0])  
  {  
  int   i=0;  
  for(i=0;i<n;i++)  
  {  
  if(point[i].sihavedisk()==true)  
  {  
  position=Math.max(i-1,0);  
  break;  
  }  
  }  
  if(i==n)  
  {  
  position=n-1;  
  }  
   
  }  
  if(name==towerName[1])  
  {  
  int   i=0;  
  for(i=n;i<2*n;i++)  
  {  
  if(point[i].sihavedisk()==true)  
  {  
  position=Math.max(i-1,0);  
  break;  
  }  
  }  
  if(i==2*n)  
  {  
  position=2*n-1;  
  }  
   
            }  
            if(name==towerName[2])  
    {  
    int   i=0;  
    for(i=2*;i<3*n;i++)  
    {  
    if(point[i].ishavedisk()==true)  
    {  
    position=Math.max(i-1,0);  
    break;  
    }  
   
    if(i==3*n)  
    {  
    position=3*n-1;  
                                                                                            }  
    }  
  }  
  return   position;  
   
  }  
  public   int   getshmianposition(char   name)  
  {  
  int   position=0;  
  if(name==towerName[0])  
  {  
  int   i=0;  
  for(i=0;i<n;i++)  
  {  
  if(point[i].ishavedisk()==true)  
  {  
  position=i;  
  break;  
  }  
  }  
  if(i==n)  
  {  
  position=n-1;  
  }  
  }  
  if(name==towerName[1])  
  {  
  int   i=0;  
  for(i=n;i<2n;i++)  
  {  
  if(point[i].ishavedisk()==true)  
  {  
  position=i;  
  break;  
  }  
  }  
  if(i==2*n)  
  {  
  position=2*n-1;  
  }  
  }  
  if(name==towerName[2])  
  {  
  int   i=0;  
  for(i=2*n;i<3*n;i++)  
  {  
  if(point[i].ishavedisk()==true)  
  {  
  position=i;  
  break;  
  }  
  }  
  if(i==3*n)  
  {  
  position=3*n-1;  
  }  
                }  
                return   position;  
              }  
  }  
  会出现以下错误:  
  C:\Documents   and   Settings\Administrator\My   Documents\haonni\HannoiTower.java:5:   '{'   expected  
  public   class   HannoiTower(int   number,int   w,int   h,char[]   name,TextArea   text)  
                                                  ^  
  1   error  
   
  Tool   completed   with   exit   code   1  
  很笨笨的鸟请教大虾:怎样改正这个错!  
  菜鸟表示感谢! 问题点数:0、回复次数:4Top

1 楼qjhaaaaa()回复于 2004-12-03 17:58:39 得分 0

这段代码不光是你贴出的错误,还有很多错误  
  有些变量都没有定义Top

2 楼tom2005(随海奔跑)回复于 2004-12-03 18:35:27 得分 0

(int   number,int   w,int   h,char[]   name,TextArea   text)  
  这个没有见过  
  放在构造函数里  
  错误很多,代码不全,没法调试Top

3 楼index_2004(云飘飘)回复于 2004-12-03 20:34:32 得分 0

对不起,我挺粗心的!Top

4 楼catblue(佛家说:一粒沙中看世界。)回复于 2004-12-04 10:38:47 得分 0

太长了,自己先整理一下,不要一下子全帖上来,别人也不好帮你Top

相关问题

  • 老鸟菜鸟快帮忙!!!
  • 菜鸟问,老鸟指教
  • 祝老鸟、菜鸟、不老不菜鸟们,圣诞快乐~~~~~
  • 老菜鸟该怎么办?
  • 老菜鸟虚心求教
  • 老菜鸟找同龄人
  • 提菜鸟问题,老鸟请指点
  • 菜鸟
  • 菜鸟
  • 菜鸟

关键词

  • getx
  • gety
  • point
  • tempwidth
  • drawline
  • disk
  • width
  • height
  • import
  • text

得分解答快速导航

  • 帖主:index_2004

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo