Adam Anselm Ответов: 1

Как позволить java читать несколько символов одновременно и изменять их на целые числа


Например, если A = 0, B=1, C=2 и D =3. Если я введу "а" , то на выходе будет "0".
Это легко для одного символа, но как насчет того, чтобы ввести 4 символа за один раз без пробела, как "BACC", выход должен быть "1022". Но как мне это сделать?. Пожалуйста, помогите как можно скорее

Что я уже пробовал:

Я еще ничего не пробовал, так как я новичок в java, пожалуйста, сделайте ответ как можно более простым, чтобы я мог понять.

1 Ответов

Рейтинг:
2

Jochen Arndt

Вы должны сразу же прочитать входные данные как строку и повторить итерацию по символам этой строки.

Предполагая, что ввод осуществляется с консоли (клавиатуры) и завершается нажатием клавиши возврата, вы можете прочитать ввод с помощью

Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();

Чтобы перебирать элементы, вам нужны знания о циклах, классе, содержащем эти элементы (Строка (Java SE 9 & JDK 9 )[^]), и какие методы этого класса могут быть полезны для решения проблемы.

В случае со строками это, очевидно, длина (количество символов) и то, как получить символ в определенной позиции в строке.

Поскольку это может быть домашнее задание, а вы до сих пор ничего не пробовали, я не буду давать вам код.

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


Adam Anselm

Я действительно пробовал это сделать, но код для "кошки" - 312, хотя я установил его на "012"
публичный статический пустота главный(строка[] аргументы) {
// Задачи логику приложения код здесь
Вход сканера = новый сканер(System.in);

System.out.println("пожалуйста, введите элементы...");
char[] a=input.next().toCharArray();
переключатель(a[0]+ a[1] + a[2]){
случай 'c' : a[0] = 0;перерыв;
случай 'a' : a[1] = 1;перерыв;
случай 't' : a[2] = 2;перерыв;

}


{
System.out.print(a[0]+ a[1]+ a[2]);
}
Системы.из.код println();

Jochen Arndt

- Вам нужен цикл для обработки каждого отдельного символа
- Переключатель для сцепленных символов не имеет смысла
- У вас есть массив символов. Поэтому вы должны использовать символы (a[0] = '0'), а не числовые значения (числовое значение для символа '0' равно 48)