Как передать символы в метод / класс в виде строки? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь написать классы, которые в конечном итоге станут частью более масштабной программы. Один из моих классов - Tile - хранит отображение буквы, строку и столбец, где она расположена на доске, и флаг, указывающий, был ли выбран плиткой игрок. У меня проблемы с хранением письма.

Изначально я сохранил букву как символ - как при создании новых объектов Tile, символ передается в конструктор. Тем не менее, я должен иметь возможность хранить "Qu", а также. Это наводит меня на мысль, что конструктор для Tile должен принять письмо в виде строки; однако, когда я создаю новый объект Tile и передаю ему символ, он не работает.

Например:

Tile t1 = new Tile ('d', 0, 0);

Tile t2 = new Tile ("Qu", 0, 1);

Оба они должны работать. Но я не уверен, как хранить букву (как символ? Строку?)

1 Ответ

0 голосов
/ 04 апреля 2019

Если вам нужно поддерживать более одного персонажа, вы правы, что вам нужен String. Однако для String не требуется иметь более одного символа. Это вполне приемлемо:

Tile t1 = new Tile("d", 0, 0);

Замечу, что положение тайла на самом деле не присуще свойству , и что-то вроде Tile[4][4] может иметь больше смысла для отслеживания позиции.

Обновление: На основании дополнительной информации кажется, что плохо написанное задание требует и того, и другого. В этом конкретном случае используйте несколько конструкторов, таких как:

public Tile(char value, int x, int y) {
    this(Character.toString(value), x, y);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...