Я пытаюсь создать массив символов, но получаю ошибку каждый раз, когда запускаю свой код. Это мой код:Помощь Char Array
public static int namevalue(String name){
char[] charval={'', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
char let;
int val=0;
int letter;
int total=0;
int character;
for (letter=0;letter<name.length();letter++){
let=name.charAt(letter);
if (charval[letter]==let){
total+=letter;
}
total+=val;
}
return total;
}
И это ошибка я получаю (main.java:10 это строка с массив символов):
main.java:10: ошибка: пустая литера char [] charval = {'', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', ' 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W ',' X ',' Y ',' Z '};
Существует стрелка, указывающая на «S», «часть моего кода в отладчике», и я не уверен, почему. Если я удалю эту часть, сделав ее «R», «T», «та же ошибка покажет, но указала на« T ». Может кто-нибудь, пожалуйста, помогите мне и скажите мне, почему? Насколько я могу судить, это тот же формат, что и другие буквы, которые не имеют проблемы.
спасибо
Там нет пустой литеры ('«» '). Удалите это, и ваш код является законным. 'char [] charval = {/ * '', */'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', ' 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V ',' W ',' X ',' Y ',' Z '}; ' –
Почему они не являются ошибкой до тех пор, пока не появится' s '? – Sal
Либо удалить первое значение '' ''или вставить пробел между одиночными кавычками, в зависимости от того, хотите ли вы, чтобы первое значение в' charval' было пробелом или нет. –