Java 检查名称首字母为eclipse的唯一播放器ID是否有效
我对此代码有问题:Java 检查名称首字母为eclipse的唯一播放器ID是否有效,java,Java,我对此代码有问题: 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]
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;
}
我想做一个循环,检查输入一个足球运动员ID,代码格式是“xxx000”,其中“xxx”是他的名字缩写,“000”是数字。请帮我完成这个代码,我想我做的第一个条件是正确的,但我在第二个卡住了。非常感谢你的帮助
顺便说一句,我曾尝试使用“isNumeric”在线示例来解决第二个问题,但我似乎无法让它发挥作用。它一直在说void类型不能返回true或false。你能帮我澄清一下吗
我还想到了另一种方法,但我也注意到了第二个条件:要使用播放器名生成“xxx”部分,并格式化“000”部分以供输入,无需使用检查方法?检查它是否是可以使用正则表达式的数字
str.matches("^[0-9]{3}$");
在代码中
if(pID.substring(0, 3).equalsIgnoreCase(ini) && pID.substring(3).matches("^[0-9]{3}$")){
return true;
}
else {
return false
};
您能提供示例输入和预期输出吗?