1 回答

TA贡献1836条经验 获得超3个赞
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 的布尔值。并检查输入字符串中是否出现无效字符。整个循环后;如果不是,则返回 true,但如果确实看到无效字符,则布尔值变为 false,并且在方法结束时,在检查所有字符后返回它。
注意:字符串库有一些有用的函数可以让您检查一个字符是否是字母、数字等。您不需要将所有这些字符写入 if 条件。
添加回答
举报