Если ваши символы такие же, как вы упомянули, вы можете использовать что-то вроде этого.
static int toNumber(char chr) {
return (chr - 97);
}
Идея такова: символ кодируется в виде байта, который является числом. Посмотрите соответствующую таблицу ASCII , где вы можете видеть, что «a» имеет значение 97 (десятичное число), «b» имеет 98 ... Так что, если мы вычтем 97 из всех наших символов, мы сможем достичь желаемогоценности.
char byte(decimal) char value -97
a 97 0
b 98 1
... ... ...
z 122 24
Но проблема с вашей функцией заключается в том, что оператор return отсутствует. Вы можете заставить его работать, изменив это на
int x() {
char ch = 'c';
int value = 0;
switch (ch) {
case 'a':
value = 0;
break;
case 'b':
value = 1;
break;
case 'c':
value = 2;
System.out.println(c);
break;
case 'd':
value = 3;
break;
case 'e':
value = 4;
break;
case 'f':
value = 5;
break;
case 'g':
value = 6;
break;
case 'h':
value = 7;
break;
}
return value;
}