Как удалить первый символ каждой строки в массиве в Java - PullRequest
0 голосов
/ 21 октября 2018

для задания кодирования нам нужно создать карточную игру.Для кодовой части игры мы решили создать один строковый массив, в котором есть все карты.В этом массиве он сообщает вам масть и стоимость карты.Мы также хотим удалить символы, которые идентифицируют костюм, чтобы мы могли преобразовать его из строки в int, чтобы сложить точки в конце.Я пробовал многочисленные методы, чтобы получить то, что я хочу, имея массив карточек, которые позже можно преобразовать в int, используя intrstream для заполнения 1-52, а затем присваивая значения на основе диапазонов nn = spades и т. Д., Пытаясьузнайте, как использовать перечисления, так как мы еще не узнали о них, а также взглянуть на код других людей, которые делают аналогичные вещи.

TLDR: я пытаюсь просто сделать так, чтобы каждый цикл проходил каждую строку и удалял первый символ.Не работает.

String[] deck =
  {"DA, D2, D3, D4, D5, D6, D7, D8, D9, D10, DJ, DQ, DK, SA, S2, S3, S4, S5, S6, S7, S8, S9, S10, SJ, SQ, SK, HA, H2, H3, H4, H5, H6, H7, H8, H9, H10, HJ, HQ, HK, CA, C2, C3, C4, C5, C6, C7, C8, C9, C10, CJ, CQ, CK"};
String[] points = new String[deck.length];
for (int i = 0;i<deck.length;i++ ) {
    points[i] = deck[i].substring(0);
  }
    System.out.println(Arrays.toString(points));

1 Ответ

0 голосов
/ 21 октября 2018

Может не быть полного ответа, но прежде всего вы определяете один элемент массива.Я бы порекомендовал jshell (с jdk9 +), который является java REPL, чтобы играть с java-кодом и посмотреть, как он реагирует.

jshell> String[] deck = {"apple, banana, cat"}
deck ==> String[1] { "apple, banana, cat" }

Вместо этого вы хотите разделить элементы и увидетьразмер 3.

jshell> String[] deck = {"apple", "banana", "cat"}
deck ==> String[3] {"apple", "banana", "cat"}

Тогда вы сможете .substring(1) получить карту, игнорирующую первый символ, и преобразовать ее в целое число позже.

Пример:

public static void main(String[] args) {
    String[] deck = {
            "DA",
            "D2",
            "D3",
            "D4",
            "D5",
            "D6",
            "D7",
            "D8",
            "D9",
            "D10",
            "DJ",
            "DQ",
            "DK",
            "SA",
            "S2",
            "S3",
            "S4",
            "S5",
            "S6",
            "S7",
            "S8",
            "S9",
            "S10",
            "SJ",
            "SQ",
            "SK",
            "HA",
            "H2",
            "H3",
            "H4",
            "H5",
            "H6",
            "H7",
            "H8",
            "H9",
            "H10",
            "HJ",
            "HQ",
            "HK",
            "CA",
            "C2",
            "C3",
            "C4",
            "C5",
            "C6",
            "C7",
            "C8",
            "C9",
            "C10",
            "CJ",
            "CQ",
            "CK"
    };

    String[] points = new String[deck.length];

    for (int i = 0; i < deck.length; i++) {
        points[i] = deck[i].substring(1);
    }

    System.out.println(Arrays.toString(points));
}

выход:

[A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K]
...