- pattern.matches:matches() 方法用于检测字符串是否匹配给定的正则表达式。
- \d[9]:匹配9个数字
- charAt(x) 读取第x个字符
- substring(0,x) 方法返回字符串的子字符串。
- delete: Java StringBuffer delete()方法删除此StringBuffer的子字符串中的字符。 子字符串从指定的开始处开始并延伸到索引结束处的字符.
- insert() 函数表示在字符串中插入字符串,StringBuffer insert(int index,String str)
package 测试;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args) {
System.out.println("---------- 输出准考证号码包含信息 ----------------");
String type=null;
StringBuffer sb=new StringBuffer();
String admissionCard=JOptionPane.showInputDialog("请输入准考证号码(9位数字)");
if(admissionCard.length()!=9) {
System.out.println(admissionCard+"的长度小于9,不是合法准考证号!");
System.exit(1);
}else if( Pattern.matches("\\d[9]",admissionCard)) {
System.out.println(admissionCard+"不是数字字符串,不是合法准考证号!");
System.exit(1);
}
String examinationRoom=admissionCard.substring(0,2);
String serialNumber=admissionCard.substring(2,7);
char typeID=admissionCard.charAt(8);
if('1'==typeID) {
type="A类";
}
else if('2'==typeID) {
type="B类";
}else if('3'==typeID) {
type="C类";
}else {
System.out.println("准考证号码有错误");
}
sb.append("准考证号:"+admissionCard);
sb.append("\n考场号:"+ examinationRoom).append(",考生序号:"+serialNumber);
sb.append(",考试类型:"+type);
System.out.println(sb.toString());
System.out.println("---------- 增加学校代码的准考证号 ----------------");
sb.delete(0, sb.length());
sb.append(admissionCard);
sb.insert(0, "10531");
System.out.println(sb.toString());
}
}