Как я могу извлечь отдельные символы из строки и преобразовать их в числа? - PullRequest
0 голосов
/ 10 января 2012

То, что я пытаюсь сделать, это найти способ, которым я могу взять слово «верблюд», например, из поля EditText и сделать, например, c = 2 a = 1 m = 4 e = 5 l = 3. Могу ли я в любом случае извлечь отдельные символы из строки и преобразовать их в числа?

Я пытался использовать «split» для разделения каждого символа в массив, но я не могу понять, как преобразовать буквы в числа так что я могу сделать что-то вроде:

a=1
b=2
c=3
int temp = (int)(array[1]+array[2]+array[3]+etc...)

на примере "верблюда" будет равно 15

Это то, что я имею до сих пор:

String name = inputarea.getText().toString();
String[] array = name.split("");
for(int i =0; i < array.length ; i++)

Самая большая проблема, с которой я продолжаю сталкиваться, заключается в том, что если я пытаюсь вытащить 7-ю позицию в массиве, а там ничего нет. (Верблюд имеет только 5 символов), тогда я получаю довольно большую ошибку.

Спасибо за любую помощь, которая может быть оказана.

Редактировать: я понял это после нескольких часов игры с ним вот мой рабочий код:

String firstname = inputarea.getText().toString();
char[] array = firstname.toCharArray();
final char[] array2 = new char[15];
System.arraycopy(array, 0, array2, 0, array.length);            
if (array2[0] == 'A' ) {
array2[0] = '1';
}

Ответы [ 2 ]

1 голос
/ 10 января 2012

предложение:

сначала нужно определить все буквы, от a-z (A-Z), код ASCII от 'a' до 'z' от 97 до 122, если вы хотите поддержать верхнюю букву, вам нужно добавить A-Z.

затем получите букву в строке, вы можете использовать это:

for(int i=0;i<string.length();i++){
        int number = string.charAt(i);
}

когда вы получите размер номера, вы можете уменьшить его до базового номера («а» - 97), вы получите индивидуальный номер

0 голосов
/ 10 января 2012

Работает ли у вас String.charAt ()?

Что касается преобразования в число, если числа являются последовательными, вы можете определить фиксированную строку со всеми символами, которые вы хотите отобразить, и использовать String.indexOf (). Если нет, вы можете иметь параллельный массив с целочисленными значениями или использовать карту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...