检查唯一的播放器ID是否有效,具有名称缩写Eclipse



我对此代码有问题:

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
};

最新更新