java - 从其他未连接的类接收特定值

标签 java methods

我必须创建一个跳棋棋盘游戏,并且我有 4 个类:

  1. Cell(用于表示一个空单元格,它返回一个 toString“.”)
  2. White(代表白色单元格,返回toString "W")
  3. Black(代表黑色单元格,返回toString "B")
  4. 西洋跳棋(设置棋盘 (Cell[8][8]) 并对其进行初始化。

我在调用由字母 .,W,B 表示的空白、白色和黑色单元格时遇到问题。我在代码上还有更多工作要做,但我只需要调用这些方法方面的帮助

单元格、Black 和 WHite 类如下所示:

  public class Cell {
 public static final String EMPTY=".";

 int i;
 int j;
 String value;

 public Cell(int i, int j){
    this.i = i;
    this.j = j;
    value = EMPTY;
 }

 public String toString(){
    return value;
 }
}

在 Checkers 类中,我有这些方法:我只是不知道如何从其他类中调用这些方法,所以我只是创建了另一个 char 数组并将这些值放入其中。我知道我必须在这方面做更多的工作。

    /*********initialization******/
public void init(){
    board = new Cell[8][8];


    char[][] a =
        {
            getEmptyWhite("EW"),
            getEmptyWhite("WE"),
            getEmptyWhite("EW"),
            getEmptyWhite("EE"),
            getEmptyWhite("EE"),
            getEmptyWhite("BE"),
            getEmptyWhite("EB"),
            getEmptyWhite("BE")

        };
    for(int i = 0; i<8; i++){
        for(int j=0; j<8; j++){
            System.out.print(a[i][j]);
        }
        System.out.println();
    }
}


    public char[] getEmptyWhite(String a){
        Cell empty;
        Black black;
        White white;    
        if(a.equals(empty)){
            char[] emptyWhite = {'E','E','E','E','E','E','E','E'};
            return emptyWhite;
        }
        else if(a.equals("EW")){
            char[] emptyWhite = {'E','W','E','W','E','W','E','W'}; 
            return emptyWhite;
        }
        else if(a.equals("EB")){
            char[] emptyWhite = {'E','B','E','B','E','B','E','B'};
            return emptyWhite;
        } else if(a.equals("WE")){
            char[] emptyWhite = {'W','E','W','E','W','E','W','E'};
            return emptyWhite;          
        } else if(a.equals("BE")){
            char[] emptyWhite = {'B','E','B','E','B','E','B','E'};
            return emptyWhite;          
        } 
        return null;
    }



/*********initialization ended*******/

最佳答案

getEmptyWhite 中,这行看起来像:

if(a.equals(empty)){

你应该使用这个:

if(a.equals("EE")){

请注意,在您发布的代码中,emptyCell 类型的变量,其值为 null。因此,a.equals(empty) 将始终为 false。此外,您实际上并不需要局部变量 emptyblackwhite

关于java - 从其他未连接的类接收特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979989/

相关文章:

java - 将准备好的语句插入数据库 - PSQL

java ;在代码中访问注释

java - 创建对象时会复制方法吗?

android - 仅在一种方法中禁用后退按钮

python - TypeError:参数 1 必须是 pygame.Surface,而不是方法

java - 如何用Java检测当前显示?

java - 如何让一个类监听由其他类而不是本类引起的 PropertyChangeEvents?

Java spring 排序和过滤

java - 数组列表中的子类元素不会使用 Java 中的重写方法

java - 我的单独方法不断返回错误的值