2015-03-05 6 views
0

Я уже некоторое время пытаюсь преобразовать строковый параметр букв в массив int внутри метода, отличного от основного метода. Затем будет возвращен int массивов. Например:Преобразование строки букв в массив Int.

Я хочу, чтобы алфавит был преобразован в массив int с соответствующими номерами к их буквам. Например:

Входная строка: АБВГДЕЖЗИКЛМНОПРСТУФХЧШЭЮЯ Выходной массив: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .....]

Моя идея заключается для создания массива int из индекса 25 и заполнения его циклом for, но я не уверен, как исходить оттуда или если это даже правильный способ приблизиться к этому.

любая помощь приветствуется! Благодаря!

ответ

0

В C# вы могли бы сделать что-то вроде этого:

public int[] ConvertStringToIntArray(string letters) 
    { 
     List<int> numbers = new List<int>(); 

     foreach (var letter in letters.ToCharArray()) 
     { 
      numbers.Add((letter - 'A')); 
     } 

     return numbers.ToArray(); 
    } 

Если вы хотите, чтобы справиться с верхними и строчными буквами же, «а» == 0 и == «A» 0, просто изменить в цикле, строка сказать letters.ToUpper().ToCharArray(), как показано ниже:

public int[] ConvertStringToIntArray(string letters) 
    { 
     List<int> numbers = new List<int>(); 

     foreach (var letter in letters.ToUpper().ToCharArray()) 
     { 
      numbers.Add((letter - 'A')); 
     } 

     return numbers.ToArray(); 
    } 
0

Я бы цикл через каждый символ в массиве и передать его в метод, чтобы получить целое значение. Способ аналогичен приведенному ниже методу, должны работать по возвращении значения Int вы ищете на обеих нижних и верхних символов случае буквенно:

public int GetIntValue(char alphanumericChar) 
{ 
    return (int)alphanumericChar % 32 - 1; 
} 
0

Одна вещь, которую вы должны знать, что символы уже есть соответствующее десятичное значение. Все, что вам нужно сделать, это конвертировать их. Например, в C#:

 char s = 'a';    
     int i = Convert.ToInt32(s); 
     Console.Write(i); 
     //Output: 97 

Вот полезная ссылка: http://www.asciitable.com/

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