2013-04-30 4 views
-7

Я сделал функцию, которая требует int[], Conflict(int[] tab), и как вы все знаете, что мы извлечь информацию из JTextField в виде String (ов), так что я затем конвертировать его в целое число с:как преобразовать строку в междунар в таблицу междунар []

int input=Integer.parseInt(s); 

Теперь я нашел способ сделать это:

int input= 1234; 
String input= String.valueOf(input); 
Vector<int> tab = new Vector<int>(); 
for (int cpt = 0; cpt <input.length(); cpt++) 
{ 
    tab.add(Integer.valueOf(input.substring(cpt, cpt+1)).intValue()); 
} 

, но я ищу простой способ без вектора, так опять Вопрос Как преобразовать вход (int) в таблицу o f int[], чтобы я мог использовать его в функции Conflict?

Вот ответ на мой вопрос, для всех тех, кто ищет, чтобы превратить int в качестве int[], используя строку с очень умным простым трюком

tcst = ""+inputc; 
int tcn = tcst.length(); 
int[] tctab = new int[tcn]; 
for(int h=0; h<tcn; h++){ 
    tctab[h] = (int) Integer.parseInt("" + tcst.charAt(h)); 
} 

ответ

1

Если у вас есть строка числа как «12345 «Лучший способ - преобразовать его в массив символов, используя метод toCharArray() для строки. Когда вы получите массив чисел char, этот символ может использоваться как целое в вашей программе. просто когда вы получите элемент из массива char и преобразуете его в int с помощью метода getNumericValue() символа

+0

-1 не соответствует действительности. Передача символа в int возвращается в позицию unicode, а не числовое значение. Это явно не то, что спросил ОП. –

+0

вы можете использовать getNumericValue() метод char –

+0

, вы также можете сделать что-то вроде char vlaue - 48, чтобы вы могли получить фактическое значение –

-1

Если ваш ввод является строкой (от JTextField), то я не понимаю, почему вы конвертируете это целое число, чтобы снова преобразовать его в String.

Чтобы перейти от String к int[], это способ сделать это.

char[] chars = inputString.toCharArray(); 
int[] result = new int[chars.length]; 
for(int i=0; i<chars.length; i++){ 
    result[i] = Character.getNumericValue(chars[i]); 
} 
+0

спасибо, что это очень хороший способ сделать это – user2161721

+0

если вы используете downvote, скажите почему. –

Смежные вопросы