我对此代码有问题:
public void setID() {
do {
Scanner s = new Scanner(System.in);
pID = s.nextLine();
} while(true);
}
boolean checkID(String plName) {
String[] nameParts = this.pName.split(" ");
char ini1 = nameParts[0].charAt(0);
char ini2 = nameParts[1].charAt(0);
char ini3 = nameParts[2].charAt(0);
String ini = new
StringBuilder().append(ini1).append(ini2).append(ini3).toString();
if(pID.substring(0, 3).equalsIgnoreCase(ini))
{
return true;
}
else return false;
}
我想制作一个循环,以使用IS代码格式为" xxx000",以检查输入一个足球运动员ID,而" xxx"是他的名字缩写,而" 000"为数字。请帮助我完成此代码,我认为我做了第一个条件,但是我被困在第二个条件。非常感谢您的帮助!
我尝试使用" iSnumeric"在线示例来解决第二种情况,但我似乎无法使其工作。它一直说,void类型不能返回到true或false。你能为我澄清一下吗?
我也想到了另一种方法来执行此操作,但是我也以第二种条件进行了攻击:使用播放器名称生成" xxx"部分,并格式化" 000"零件以进行输入,消除了对检查方法?
检查是否是号码,您可以使用Regex
str.matches("^[0-9]{3}$");
在您的代码中
if(pID.substring(0, 3).equalsIgnoreCase(ini) && pID.substring(3).matches("^[0-9]{3}$")){
return true;
}
else {
return false
};