У меня есть этот код, где я хочу добавить значение 97 для переменной char, но вместо этого получить в соответствии с таблицей ASCII окончательное число 98 для буквы «b 'выход 205.Как добавить числовое значение для char в Java
Что не так в моем коде?
public class MyTest {
public static void main(String[] args) {
char result;
String input = "blablab";
result = charCounter(input);
}
private static char charCounter(String input) {
int[] array = new int[26];
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
array[ch - 97]++;
}
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
char frequent = input.charAt(i);
System.out.println(frequent + 97);
}
}
return 45;
}
}
Благодарим за помощь.
В вашей второй 'for' цикла, что заставляет вас думать,' i' должен быть индекс во входной строке? Например, если я вхожу в 'f', я ввожу односимвольную строку. Но 'array' имеет длину 26 записей, и ваш цикл проходит намного дальше этой точки, поэтому' input.charAt (i) 'будет терпеть неудачу. –
, потому что я получаю более частую букву 'l' –
Нет, вы этого не делаете. Подумайте логику более тщательно. Возможно, даже нарисуйте массив и строку ввода на бумаге, чтобы понять, что 'i' будет делать в этом втором цикле, если входная строка является просто' f'. –