Разделение текста и целых чисел и помещение их в массив?

Я пытаюсь сделать что-то вроде кодировщика. Вы вводите код с 1 буквой от A до C и четырьмя цифрами от 1 до 9 (пример: A3256). Вот где это становится сложно. Мне нужно разделить это на массив или что-то еще лучше (пример: [1]A [2]3 [3]2 [4]5 [5]6), чтобы позже я мог использовать каждую букву/цифру отдельно . Пожалуйста помоги!


person user2406223    schedule 22.11.2013    source источник


Ответы (1)


Учти это

    int[] array = new int[5];

    char c = 'C';
    array[0] = c;

    if (array[0] > 9) {
        System.out.println((char) array[0]);
    } else {
        System.out.println(array[0]);
    }

Я использую массив int, который может хранить chars, преобразованный в int. Затем я проверяю, является ли значение выше 9, если это так, я не могу вернуться к char.

Поскольку десятичные значения всех буквенных символов больше 9, преобразование обратно в char произойдет с приведением (char).

Например, 'C' будет храниться в массиве как 67 (десятичное значение ascii 'C'). Затем он преобразуется обратно в 'C'

person Paul Samsotha    schedule 22.11.2013
comment
Я понимаю, что вы имеете в виду, но мне нужно что-то большее, например, использование сканера для получения ввода, а затем разбиение его на символы и отдельные числа (пример: вместо [1] A [2] 3256 мне нужно [1] А [2]3 [3]2 [4]5 [5]6). - person user2406223; 22.11.2013
comment
Я не понимаю, почему вы не можете использовать сканер. Вышеприведенное — всего лишь пример того, как числа и буквы могут сосуществовать в одном и том же массиве. затем получить к ним доступ по индексу. Если значение больше 9, вы получите доступ к значению char. array[0] = 65 (A); array[1] = 3; array[2] = 3 and so on. Вам действительно нужно показать какой-то код, иначе ваш вопрос просто нечеткий, чтобы ответить - person Paul Samsotha; 22.11.2013