2015-01-18 3 views
1

Im пытается преобразовать массив строк в массив символов.Преобразование массива строк в массив char

E.g.

Str[0] = "string1" 

Str[1] = "string2" 

в

Char[0][0] = 's' Char[0][1] = 't' Char[0][2] = 'r' .. Char[0][6] = '1' 

Char[1][0] = 's' Char[1][1] = 't' Char[1][2] = 'r' .. Char[1][6] = '2' 

..etc

Вот что я получил до сих пор. Но это не работает, и я нуждаюсь в помощи вам, ребята.

public class Char { 
    public void toChar(String[] str) 
    { 
     char[][] charArray = new char[str.length][100]; 

     for(int i=0;i<str.length;i++) 
     { 
      charArray[i][] = str[i].toCharArray(); 
     } 
    } 
} 
+6

Я надеюсь, вы понимаете, что «это не работает «не является полезным описанием вашей проблемы с этим кодом. – Tom

ответ

4

Удалите пустой кронштейн, как

charArray[i] = str[i].toCharArray(); 

Кроме того, ваше объявление из charArrayможет опустить второе измерение, как

char[][] charArray = new char[str.length][]; 

Наконец, ваш метод void; для использования вашего charArray вы должны его вернуть. Поскольку это не зависит от состояния экземпляра, это может быть static. Собираем все вместе, это может выглядеть

public static char[][] toChar(String[] str) { 
    char[][] charArray = new char[str.length][]; 

    for (int i = 0; i < str.length; i++) { 
     charArray[i] = str[i].toCharArray(); 
    } 
    return charArray; 
} 

и тогда вы могли бы назвать это как

public static void main(String[] args) throws Exception { 
    System.out.println(Arrays.deepToString(toChar(new String[] { "Hello", 
      "World" }))); 
} 

выход является

[[H, e, l, l, o], [W, o, r, l, d]] 
Смежные вопросы