【问题标题】:How to run everything in a method in one class?如何在一个类的方法中运行所有内容?
【发布时间】:2014-02-15 17:36:05
【问题描述】:

所以这是我的问题...我有一个用于检查器的 Java 程序,我想在不同的类中初始化检查器,作为一种方法(我认为),然后创建所有检查器。这是我的代码:http://pastebin.com/ansERKjv 那么如何在我的主类中调用方法 DoCreate() 呢? 另外,如果我想做上面所说的,但将Create 放在不同的文件中,然后调用方法public void DoCreate() 我该怎么做?我是否必须导入类 Checker。谢谢S

import java.util.logging.*;
//Jake Sylvestre
public class Checkers 
{
public static void main (String[] args)
{
    //Creates all the checkers


}
}

class Checker
{
    int x;
    int y;
    int id;
    boolean white;
    boolean king;
}

class Create
{
        public void DoCreate()//Creates all the pieces and gives them starting values
        {

            //YES writing an algorithm to skip every other space would be more effecient for me, but would slow down code
            //intalizing checker 
            //checker  create code starts
            //WHITE BELOW
            Checker checker1 = new Checker();//Creates the checker object
            checker1.x=1;//starting x value
            checker1.y=1;//starting y value
            checker1.id=1;//Checker Id
            checker1.king=false;//Is it a king
            //checker  create code end



            //intalizing checker 2
            //checker 2 create code starts
            Checker checker2 = new Checker();//Creates the checker object
            checker2.x=2;//starting x value
            checker2.y=1;//starting y value
            checker2.id=2;//Checker Id
            checker2.king=false;//Is it a king
            //checker 2 create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker3 = new Checker();//Creates the checker object
            checker3.x=5;//starting x value
            checker3.y=1;//starting y value
            checker3.id=3;//Checker Id
            checker3.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker4 = new Checker();//Creates the checker object
            checker4.x=7;//starting x value
            checker4.y=1;//starting y value
            checker4.id=4;//Checker Id
            checker4.king=false;//Is it a king
            //checker  create code end



            //intalizing checker 
            //checker  create code starts
            Checker checker5 = new Checker();//Creates the checker object
            checker5.x=9;//starting x value
            checker5.y=1;//starting y value
            checker5.id=5;//Checker Id
            checker1.king=false;//Is it a king
            //checker  create code end



            //intalizing checker 
            //checker  create code starts
            Checker checker6 = new Checker();//Creates the checker object
            checker6.x=2;//starting x value
            checker6.y=2;//starting y value
            checker6.id=6;//Checker Id
            checker6.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker7 = new Checker();//Creates the checker object
            checker7.x=4;//starting x value
            checker7.y=2;//starting y value
            checker7.id=7;//Checker Id
            checker7.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker8 = new Checker();//Creates the checker object
            checker8.x=6;//starting x value
            checker8.y=2;//starting y value
            checker8.id=8;//Checker Id
            checker8.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker9 = new Checker();//Creates the checker object
            checker9.x=8;//starting x value
            checker9.y=2;//starting y value
            checker1.id=9;//Checker Id
            checker1.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker10 = new Checker();//Creates the checker object
            checker10.x=10;//starting x value
            checker10.y=2;//starting y value
            checker10.id=10;//Checker Id
            checker10.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker11 = new Checker();//Creates the checker object
            checker11.x=1;//starting x value
            checker1.y=3;//starting y value
            checker1.id=11;//Checker Id
            checker11.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker12 = new Checker();//Creates the checker object
            checker12.x=3;//starting x value
            checker12.y=3;//starting y value
            checker12.id=12;//Checker Id
            checker12.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker13 = new Checker();//Creates the checker object
            checker13.x=5;//starting x value
            checker13.y=3;//starting y value
            checker13.id=13;//Checker Id
            checker13.white=true;//Is it white?
            checker13.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker14 = new Checker();//Creates the checker object
            checker14.x=7;//starting x value
            checker14.y=3;//starting y value
            checker14.id=1;//Checker Id
            checker14.white=true;//Is it white?
            checker14.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker15 = new Checker();//Creates the checker object
            checker15.x=9;//starting x value
            checker15.y=3;//starting y value
            checker15.id=15;//Checker Id
            checker15.white=true;//Is it white?
            checker15.king=false;//Is it a king
            //checker  create code end

            //intalizing checker 
            //checker  create code starts
            Checker checker16 = new Checker();//Creates the checker object
            checker16.x=2;//starting x value
            checker16.y=4;//starting y value
            checker16.id=16;//Checker Id
            checker16.white=true;//Is it white?
            checker16.king=false;//Is it a king
            //checker  create code end

            //intalizing checker 
            //checker  create code starts
            Checker checker17 = new Checker();//Creates the checker object
            checker17.x=4;//starting x value
            checker17.y=4;//starting y value
            checker17.id=17;//Checker Id
            checker17.white=true;//Is it white?
            checker17.king=false;//Is it a king
            //checker  create code end

            //intalizing checker 
            //checker  create code starts
            Checker checker18 = new Checker();//Creates the checker object
            checker18.x=6;//starting x value
            checker18.y=4;//starting y value
            checker18.id=18;//Checker Id
            checker18.white=true;//Is it white?
            checker18.king=false;//Is it a king
            //checker  create code end

            //intalizing checker 
            //checker  create code starts
            Checker checker19 = new Checker();//Creates the checker object
            checker19.x=8;//starting x value
            checker19.y=4;//starting y value
            checker19.id=19;//Checker Id
            checker19.white=true;//Is it white?
            checker19.king=false;//Is it a king
            //checker  create code end

            //intalizing checker 
            //checker  create code starts
            Checker checker20 = new Checker();//Creates the checker object
            checker20.x=10;//starting x value
            checker20.y=4;//starting y value
            checker20.id=20;//Checker Id
            checker20.white=true;//Is it white?
            checker20.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker21 = new Checker();//Creates the checker object
            checker21.x=2;//starting x value
            checker21.y=10;//starting y value
            checker21.id=21;//Checker Id
            checker21.white=false;//Is it white?
            checker21.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker22 = new Checker();//Creates the checker object
            checker22.x=4;//starting x value
            checker22.y=10;//starting y value
            checker22.id=22;//Checker Id
            checker22.white=false;//Is it white?
            checker22.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker23 = new Checker();//Creates the checker object
            checker23.x=6;//starting x value
            checker23.y=10;//starting y value
            checker23.id=23;//Checker Id
            checker23.white=false;//Is it white?
            checker23.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker24 = new Checker();//Creates the checker object
            checker24.x=8;//starting x value
            checker24.y=10;//starting y value
            checker24.id=24;//Checker Id
            checker24.white=false;//Is it white?
            checker24.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker25 = new Checker();//Creates the checker object
            checker25.x=10;//starting x value
            checker25.y=10;//starting y value
            checker25.id=25;//Checker Id
            checker25.white=false;//Is it white?
            checker25.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker26 = new Checker();//Creates the checker object
            checker26.x=1;//starting x value
            checker26.y=9;//starting y value
            checker26.id=26;//Checker Id
            checker26.white=false;//Is it white?
            checker26.king=false;//Is it a king
            //checker  create code end



            //intalizing checker 
            //checker  create code starts
            Checker checker27 = new Checker();//Creates the checker object
            checker27.x=3;//starting x value
            checker27.y=9;//starting y value
            checker27.id=27;//Checker Id
            checker27.white=false;//Is it white?
            checker27.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker28 = new Checker();//Creates the checker object
            checker28.x=5;//starting x value
            checker28.y=9;//starting y value
            checker28.id=27;//Checker Id
            checker28.white=false;//Is it white?
            checker28.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker29 = new Checker();//Creates the checker object
            checker29.x=7;//starting x value
            checker29.y=9;//starting y value
            checker29.id=28;//Checker Id
            checker29.white=false;//Is it white?
            checker29.king=false;//Is it a king
            //checker  create code end

            //intalizing checker 
            //checker  create code starts
            Checker checker30 = new Checker();//Creates the checker object
            checker30.x=9;//starting x value
            checker30.y=9;//starting y value
            checker30.id=28;//Checker Id
            checker30.white=false;//Is it white?
            checker30.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker31 = new Checker();//Creates the checker object
            checker31.x=2;//starting x value
            checker31.y=8;//starting y value
            checker31.id=31;//Checker Id
            checker31.white=false;//Is it white?
            checker31.king=false;//Is it a king
            //checker  create code end




            //intalizing checker 
            //checker  create code starts
            Checker checker32 = new Checker();//Creates the checker object
            checker32.x=4;//starting x value
            checker32.y=8;//starting y value
            checker32.id=32;//Checker Id
            checker32.white=false;//Is it white?
            checker32.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker33 = new Checker();//Creates the checker object
            checker33.x=6;//starting x value
            checker33.y=8;//starting y value
            checker33.id=33;//Checker Id
            checker33.white=false;//Is it white?
            checker33.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker34 = new Checker();//Creates the checker object
            checker34.x=8;//starting x value
            checker34.y=8;//starting y value
            checker34.id=34;//Checker Id
            checker34.white=false;//Is it white?
            checker34.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker35 = new Checker();//Creates the checker object
            checker35.x=10;//starting x value
            checker35.y=8;//starting y value
            checker35.id=35;//Checker Id
            checker35.white=false;//Is it white?
            checker35.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker36 = new Checker();//Creates the checker object
            checker36.x=1;//starting x value
            checker36.y=7;//starting y value
            checker36.id=36;//Checker Id
            checker36.white=false;//Is it white?
            checker36.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker37 = new Checker();//Creates the checker object
            checker37.x=3;//starting x value
            checker37.y=7;//starting y value
            checker37.id=37;//Checker Id
            checker37.white=false;//Is it white?
            checker37.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker38 = new Checker();//Creates the checker object
            checker38.x=5;//starting x value
            checker38.y=7;//starting y value
            checker38.id=31;//Checker Id
            checker38.white=false;//Is it white?
            checker38.king=false;//Is it a king
            //checker  create code end


            //intalizing checker 
            //checker  create code starts
            Checker checker39 = new Checker();//Creates the checker object
            checker39.x=7;//starting x value
            checker39.y=7;//starting y value
            checker39.id=31;//Checker Id
            checker39.white=false;//Is it white?
            checker39.king=false;//Is it a king
            //checker  create code end



            //intalizing checker 
            //checker  create code starts
            Checker checker40 = new Checker();//Creates the checker object
            checker40.x=9;//starting x value
            checker40.y=7;//starting y value
            checker40.id=40;//Checker Id
            checker40.white=false;//Is it white?
            checker40.king=false;//Is it a king
            //checker  create code end
        }
    }

【问题讨论】:

  • 请将您的代码发布在此处以供所有人查看,而不是放在可能出错的链接中。您将努力使其他人尽可能容易地理解您的代码、问题和问题,这将增加您获得体面的快速答案的机会。如果您的代码太大而无法在此处发布,那么它可能太大而无法要求志愿者审查,并且您必须付出一些努力将其缩小一点,以便我们看到相关部分,足以理解您的问题,而无需淹没在不相关的代码中。
  • 下一步:您将想要了解如何使用数组和 for 循环,您的代码可以通过使用这些来缩小很多。
  • 一些关于 OOP 的阅读可能是个好主意
  • 如果你的棋子需要静态填充。我建议使用文件来读取检查器数据,这样您就不必编写此类代码。
  • 所以你想让我缩进 376 行代码?

标签: java arrays class methods void


【解决方案1】:

我会把 Checker 改成这样:

class Checker {
   private int x;
   private int y;
   private int id;
   private boolean white;
   private boolean king = false; // to clarify the default value

   public Checker(int x, int y, int id, boolean white) {
      this.x = x;
      this.y = y;
      this.id = id;
      this.white = white;
   }
   public boolean isKing() {
      return king;
   }
   public void setKing(boolean king) {
      this.king = king;
   }
   public int getX() {
      return x;
   }
   public int getY() {
      return y;
   }
   public int getId() {
      return id;
   }
   public boolean isWhite() {
      return white;
   }
}

在其构造函数中为它分配状态的位置。

我会创建一个 CheckerSquare 对象,它可以包含一个 Checker 对象(或什么都不包含)。

我会创建一个 CheckersBoard 类,它是一个 8 x 8 的 CheckerSquare 对象数组。

然后我会使用一个 for 循环用适当的 Checker 对象填充棋盘的方格,是的,如果你在纸上解决这个问题,一个 for 循环会很适合这个,不过可能其中两个,一个用于白色一个是黑色的(如果你有点聪明的话,一个也可以做到)。

然后,我将创建一个 Main 类,其中包含一个初始化上述对象的 main 方法,以及其他必要的对象,例如一个监督游戏本身的类、一个 Player 类、一个规则类,然后得到事情开始了。

【讨论】:

  • 谢谢,但是如何运行检查器?
  • 我可以这样做,但我如何定义说 checker1 并将其添加到 checker 2,这是我的问题
  • @JakeSylvestre:你不需要也不希望它说“checker1”。使用数组或 ArrayList 并使用 checkerArray[0]checkerList.get(0)。同样,你会很好地学习使用这些人。
  • 谢谢,我终于在udemy 上的这个酷视频上得到了那个数组的东西
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 2013-07-21
  • 2017-02-20
  • 1970-01-01
  • 2014-05-16
  • 2022-01-22
  • 2019-12-17
相关资源
最近更新 更多