String to 2d Array - PullRequest
       26

String to 2d Array

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

Я хочу преобразовать строку в 2D-массив.Но моя проблема в том, что строка должна быть динамической.Результат тоже должен быть динамичным.Я пытался использовать очереди, но не могу придумать решение.

предложение = "Это пример".2DArray [] [] = convertInto2dArray (предложение)

2D-массив должен выглядеть следующим образом.[[Т] [ч] [I] [S], [I], [с], [а] [п], [е] [х] [а] [м] [р] [л] [е],[.]]

Ответы [ 2 ]

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

Я понял это примерно так:

def stringToArray(newstring):
    words = wordsandpoints(newstring)

char newarray[wordsandpoints][]
    i=0
    row = 0
    for(;row < words;):
        for(int column=0;column < newstring.length(); column++, i++):
            if(newstring[i] =! " " or newstring[i] != ".")
            newarray[row][column] = newstring[i]
            elif(newstring[i] == ".")
            row++
            newarray[row][column] = newstring[i]
            row++
            else
            row++


    return newarray

def wordsandpoints(b):
    i = 0
    for x in b:
        if(x == " ")
            i++
        elif(x == ".")
            i = i + 2

    return i
0 голосов
/ 25 апреля 2019

В Java многомерный массив - это не что иное, как массив массивов, поэтому с двумя размерными массивами [[T][h][i][s],[i][s],[a][n],[e][x][a][m][p][l][e],[.]] невозможно.У вас должно быть 3 размерных массива.

Выезд: https://www.baeldung.com/java-jagged-arrays

Надеюсь, что это послужит вашей цели:

static char[][][] convert(String text) {
    String[] strSplit = text.split(" ");
    char[][][] out = new char[strSplit.length][][];

    for (int i = 0; i < strSplit.length; i++) {
        char[] word = strSplit[i].toCharArray();
        char[][] inner = new char[word.length][];
        for (int j = 0; j < word.length; j++) {
            inner[j] = new char[] { word[j] };
        }
        out[i] = inner;
    }
    return out;
}

Out Put:

[[[T], [h], [i], [s]], [[i], [s]], [[a], [n]], [[e], [x], [a], [m], [p], [l], [e], [.]]]
...