Сравните пользовательский ввод (char) с другим char - PullRequest
1 голос
/ 03 февраля 2020

Как я могу сравнить входные данные, полученные от пользователя, с символом? Я получу письмо от пользователя (это может быть прописная или строчная буква), а затем сравню его с нужной буквой.

Пример:

Scanner input = new Scanner(System.in);
char inlet;

System.out.println("Enter letter:");
inlet = input.next().atChar(0);

if(inlet == "A"){
System.out.println("Same letter");
}

Как использовать toLoweCase() в мое заявление if?

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

символьные примитивы поддерживаются целыми числами держателя значения ASCII. Итак, если вопрос

, как сравнить два значения char?

, то ответ будет состоять в том, чтобы взглянуть на ASCII-представления значений char и на тот факт, что каждый символ может быть представлен как целое число путем приведения его к типу int:

char c1 = 'a';
char c2 = 'c';
System.out.println((int)c1);

, например, 'a' представлено соответствующим целочисленным значением ASCII 97, 'A' - 65, 'b' - на 98 и т. д. (обратите внимание на заглавные буквы).

Таким образом, вы можете легко написать if (c1>c2){..//code here..}, и соответствующие целые числа ASCII необходимо сравнить соответственно.

Однако, если вопрос

как изменить регистр данного символа?

тогда ответ, предоставленный @royalghost, будет работать нормально.

1 голос
/ 03 февраля 2020

Вы можете использовать toUpperCase(char ch) или toLowerCase(char ch) 1 для преобразования ввода пользователя и сравнения, как показано ниже:

if ( Character.toLowerCase(inlet) == 'a' ){

}

ИЛИ

if ( Character.toUpperCase(inlet) == 'A' ){

}
...