第1个回答 2012-06-23
我来给你写一个吧
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
while (!"exit".equals(s)) {
//这里程序会先判断长度为7,因为是 and的关系,如果不满足的话不会调用test
if (s.length() == 7 && test(s)) {
System.out.println("ok");
} else {
System.out.println("AAA0000");
}
s = sc.next();
}
}
private static boolean test(String s) {
s = s.toUpperCase();
//由于主程序中已经确保传进来的是7位长度,所以这里直接取了各段数据来用就可以了。
String p = s.substring(0, 3);
String e = s.substring(3);
return e.matches("[0-9]*") && p.matches("[A-Z]*");
}
}
第2个回答 2012-06-23
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个七位数!");
String s = scanner.next();
char c[] = s.toCharArray();
boolean isLetter = true;
boolean isDigit = true;
for (int i = 0; i < 3; i++) {//判断前三位是否为字母
if (!Character.isLetter(c[i])) {
isLetter = false;
break;
}
}
for (int i = 4; i < c.length; i++) {//判断后三位是否为数字
if (!Character.isDigit(c[i])) {
isDigit = false;
break;
}
}
if (isLetter && isDigit && c.length != 7) {
System.out.println("OK");
} else {
System.out.println("AAA0000");
}
}
}
第3个回答 2012-06-23
public class P {
public static void main(String[] args) {
boolean flag= false;
String input = "ABC3644";
if(input==null||input.length()!=7){
System.out.println("the length of input string must be 7 ");
return ;
}
//方法1 ,使用正则表达式
Pattern p = Pattern.compile("^[a-zA-Z]{3}\\d{4}$");
flag = p.matcher(input).matches();
print(flag);
///方法2,比较囧的方法,不推荐
for (int i=0;i<3;i++) {
flag = Character.isLetter(input.charAt(i));
}
for(int i=3;i<7;i++){
flag = Character.isDefined(input.charAt(i));
}
print(flag);
}
private static void print(boolean flag){
if(flag){
System.out.println("OK");
}else{
System.out.println("wrong format! input like 'AAA000' ");
}
}
}
第4个回答 2012-06-23
public class RegexTest {
public static void main(String[] args) {
String input = "ABC1234";
if (input.length()==7 && input.substring(0, 3).matches("\\p{Alpha}{3}") && input.substring(3, 7).matches("\\p{Digit}{4}")) {
System.out.println("OK");
} else {
System.out.println("AAA0000");
}
}
}本回答被网友采纳