-2

Помогите решить задачу. Имеется массив String[] a, в котором хранятся числа:

["1 26 85", "89 265 86", "896 745 36"].

Нужно преобразовать его в двумерный массив int[][]:

[
 [1, 26, 85],
 [89, 265, 86],
 [896, 745, 36]
]

И нужно найти сумму каждой цифры этих чисел.

[
 [1, 8, 13],
 [17, 13, 14],
 [23, 16, 9]
]

Подскажите пожалуйста что у меня не так

public static void main(String[] args) {
        String[] str = {"1 26 85", "89 265 86", "896 745 36"};
        int[][] array = new int [str.length][str.length];
        for (int i = 0; i < 3; i++) {
            String s = str[i];
            String[] arr = s.split(" ");
            for(int j = 0; j < 3; j++){
                array [i][j] = Integer.parseInt(arr[i]);
                System.out.println(arr);
            }
        }
    }
  • 8
    Вы не знаете как использовать циклы? У вас проблемы с работой split? Вы не понимаете как сделать Integer.valueOf? Или, быть может проблемы совершенно с другими вещами? Опишите, что не получается и вам с радостью помогут) – test123 Dec 20 '17 at 09:46
  • 1
    https://ru.stackoverflow.com/a/453060/178988 – Qwertiy Dec 20 '17 at 09:50
  • Ну и заодно пример преобразования String[] в int[][], который в качестве учебного задания не сдать, но описанные преобразования он более-менее иллюстрирует: int[][] result = Stream.of(data).map(e -> e.split(" ")).map(e -> Stream.of(e).mapToInt(Integer::parseInt).toArray()).toArray(int[][]::new), где data - это изначальный массив строк. – Regent Dec 20 '17 at 10:54
  • Сами-то пытались хоть немножко подумать, или ждете, что тут все за вас сделают, а вам и напрягаться незачем? Я бы такие вопросы закрывал бы. – m. vokhm Dec 20 '17 at 11:13
  • Спасибо всем за помощь! Я только начинаю разбираться с массивами. Прежде чем задавать вопрос, пытался сам разобраться. Иначе не логично, т.к. нужно самому разбираться – Вячеслав Борисовский Dec 20 '17 at 12:25
  • Я искренне надеюсь, что вы старались и сами писали тот код, который привели. Он уже почти разбивает на массивы, как вам надо. Ранее вам уже ответили, что задачу можно разбить на маленькие и решать их по частям. Так и поступите, и спрашивайте про решение конкретной подзадачи, если у вас не получается ее решить. Не забудьте показать свое решение, которое сработало не правильно. Мы готовы вам помочь, объяснить, но не хотим решать ваши задачи за вас. Возможно, кому то из нас придется еще с вами работать) – Viktorov Dec 20 '17 at 18:47
  • Не могу добавить ответ, но, посмотрите сюда https://gist.github.com/4494032c2c68a884a651c070fb34c99c , и попробуйте разобраться со своими ошибками. – test123 Dec 21 '17 at 11:38

1 Answers1

2

Есть такая штука как декомпозиция задачи, то есть в переводе на русский язык:

слон большой, надо есть его кусочками

в вашем случае, надо есть такими кусочками:

  1. Получить из массива String[] String
  2. String перевести в int
  3. int положить в int[]
  4. Просуммировать int[]

Уверен, вы способны каждую из частей решить отдельно, а потом все вместе соединить.

Barmaley
  • 81,300