老师,这个电话本项目里我添加新纪录之后查看全记录,年龄、性别、电话号码的输出值带有#号是怎么回事?呢
相关代码如下,输出值:
序号1# 姓名old 年龄23# 性别m# 电话号码12312312312# 地址er
/**
* 添加新纪录信息
*/
public void addOperation() {
TelNoteRegex telNoteRegex = new TelNoteRegex();
String name = telNoteRegex.nameValidate();
String age = telNoteRegex.ageValidate();
String sex = telNoteRegex.sexValidate();
String telNum = telNoteRegex.telNumValidate();
String add = telNoteRegex.addressValidate();
Person person = new Person(name,age,sex,telNum,add);
this.list.add(person);
person.setId(this.list.size());
}
/**
* 查询全部记录
*/
public void showAll() {
if (this.list.size()==0){
System.out.println("没有任何记录");
return;
}
for(int i=0;i<this.list.size();i++){
System.out.println(this.list.get(i));
}
}
/**
* 对用户输入年龄的验证
* 年龄的要求:10-99之间
*/
public String ageValidate(){
String regex = "[1-9]{1}[0-9]{1}";
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("请输入年龄:格式为10-99岁之间");
String input = scanner.nextLine();
if(input.matches(regex)){
return input;
}
else{
System.out.println("您输入的年龄格式有误,请重新输入!");
}
}
}
/**
* 对用户输入性别的验证
* 性别的输入要求:男(m或M)女(f或F)
*/
public String sexValidate(){
String regex = "[m|M|f|F]{1}";
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("请输入性别:男(m或M),女(f或F)");
String input = scanner.nextLine();
if(input.matches(regex)){
return input;
}else{
System.out.println("您输入的性别有误,请重新输入!");
}
}
}
/**
* 对用户输入电话号码的验证
* 电话号码要求:允许带有区号的座机号,允许手机号
*/
public String telNumValidate(){
String regex = "(\\d{3,4}-\\d{7,8}|[1]{1}\\d{10})";
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("请输入电话号码:可以是座机号或者手机号");
String input = scanner.nextLine();
if(input.matches(regex)){
return input;
}else{
System.out.println("输入的电话号码有误,请重新输入!");
}
}
}