Написан метод с двумя аргументами int. Как объявить дальнейшие локальные переменные int, используя информацию, представленную ниже - PullRequest
0 голосов
/ 10 января 2020

Я написал метод экземпляра publi c moveBy (), первый аргумент которого представляет собой int, представляющий расстояние для перемещения, а второй аргумент представляет собой символ, представляющий направление, в котором следует двигаться. Он не должен возвращать никакого значения.

Таблица 1: Направления и соответствующие приращения x и y

         Direction   xInc    yInc (this is not a code)

Right      'R'        1       0

Left       'L'       -1       0

Up         'U'        0      -1

Down       'D'        0       1

Мне нужно начать с объявления локальных переменных int xIn c и yIn c и используйте таблицу выше, чтобы установить их для соответствующих приращений в зависимости от предоставленного аргумента для направления.

Это то, что я сделал до сих пор: пожалуйста, если кто-то может исправить меня и помочь мне! большое спасибо

public void moveBy(int distance, char direction)

 {

int xInc = 0;

int yInc = 0;
}

или я попробовал это для первого бита, но там написано "ожидаемый идентификатор".

int xInc = 1,-1, 0, 0
int yInc = 0, 0, -1, 1

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Удалось ли вам завершить l oop для этого кода, чтобы фигурка действительно сдвинулась?

0 голосов
/ 10 января 2020

Прежде всего ошибка возникает из-за синтаксиса, который вы используете для объявления переменных:

int xInc = 1; // variable xInc can take only one value (1) and it should be an integer.

То же самое для yInc

Если вы собираетесь использовать Java, это хорошо начать думать с OOP Принципов

То, что вы хотите получить, - это сохранить Движение с Координатами с осями X и Y и направлением.

Начать модель этого в классе:

public class Move {

    private int xcoordinate;
    private int ycoordinate;
    private String direction // better if it a enum

    public Move(int xInc, int yInc, String direction) {
         this.xcoordinate = xInc;
         this.ycoordinate = yInc;
         this.direction = direction;
    }

    // getter
    public String getDirection() {
         return direction;
    }
}

Когда вы моделируете движение в классе, вы можете использовать его, чтобы делать ходы! Чтобы получить информацию, используйте методы получения.

Move firstMove = new Move(2, 1, "R"); // move 2 in x axis and 1 in y axis, in right direction
Move secondMove = new Move(3, -1, "L"); // move 3 in x axis and -1 in y axis, in left direction

вы можете избавиться от метода moveBy(), поскольку класс Move встраивает в себя процесс перемещения.

Вместо этого есть метод makeMove(Move move) и реализует в нем процесс перемещения.

...