Передача заданных значений другому методу в другом классе [дубликат]

Lenny спросил: 12 мая 2018 в 04:08 в: java

У этого вопроса уже есть ответ:

  • Accessing an instance of a variable from another class in Java 3 ответа

Я пытаюсь написать простую игру TicTacToe на Java, и я застрял в части & не удалось найти никаких решений ...

  • Итак, вот подробности & части кода, которые необходимы:

Квадратный класс:

    public class Square {//Declaration
    private int row;
    private int column;//Constructor
     public Square () {
    }//Setters & Getters
     public void setrow(int row){
            this.row = row;
            }     public int getrow(){
            return row;
            }     public void setcolumn(int column){
            this.column = column;
            }     public int getcolumn() {
            return column;
            }

метод перемещения:

public Square move() {
    Square cell=new Square();
    Scanner choice = new Scanner(System.in);    row = choice.nextInt();
    cell.setrow(row-1);    col = choice.nextInt();
    cell.setcolumn(col-1)      return cell;
}
метод воспроизведения:
  public void play() {   Square square = new Square();
   board[square.getrow()][square.getcolumn()] = currentPlayer.getsign();
    } 
  • Теперь проблема:

Я хочу получить доступ к строке & столбец, который я установил в методе перемещения, в методе воспроизведения. Но проблема в том, что я пытаюсь добиться этого с помощью геттеров, он возвращает значение по умолчанию для строки и amp; column (= 0). Это означает, что то, что я установил в объекте ячейки, не может быть связано с квадратным объектом ... так, как я могу это решить?

1 ответ

Maciej Wójcik ответил: 12 мая 2018 в 04:44

Вы просто пропустите вызов метода move ().

Итак, если я хорошо понимаю ваш подход, вы должны сделать метод play () таким образом:

public void play() {   Square square = new Square();
   square.move();
   board[square.getrow()][square.getcolumn()] = currentPlayer.getsign();
}