public static boolean validname(String name){
boolean boo = true;
String nameUp=name.toUpperCase();
for(int i=0;i<nameUp.length();i++){
char charUp=nameUp.charAt(i);
if(charUp!='A' && charUp!='B' && charUp!='C' && charUp!='D' && charUp!='E' && charUp!='F' && charUp!='G' && charUp!='H' && charUp!='I' && charUp!='J' && charUp!='K' && charUp!='L' && charUp!='M' && charUp!='N' && charUp!='O' && charUp!='P' && charUp!='Q' && charUp!='R' && charUp!='S' && charUp!='T' && charUp!='U' && charUp!='V' && charUp!='W' && charUp!='X' && charUp!='Y' && charUp!='Z' && charUp!='.' && charUp!=' '){
boo = false;
}
}
return boo;
}//valid name
как только метод встречает «return», он перестает работать и не проверяет другие условия.В вашем коде ваш метод проверяет первую букву и решает, что она действительна, возвращает true и не проверяет другие символы.Из-за этого я изменил ваш код, и метод создает логическое значение, которое изначально истинно.И проверяет, есть ли недопустимый символ во входной строке.После всего цикла;если нет, он возвращает true, но если он видит недопустимый символ, логическое значение становится ложным, и в конце метода вы возвращаете его после проверки всех символов.
Примечание. Библиотека строк имеет некоторые полезные функции, которыепозволяет проверить, является ли символ буквенным, числовым и т. д. Вам не нужно записывать все эти символы в условие if.