用户输入票证和票证应该以B,E,F开头(不区分大小写,也可以接受),然后是3位数。
如果他们输入正确的票证格式而不是预订票 否则无效的票证错误。
例如。
java Ticket 输入票证>> B100 价格200.0美元 java Ticket 输入票证>> A609 票证无效,票证必须以B,F或E开头 java Ticket 输入票证>> 1234567890987 票证无效,长度错误,长度必须在4到10之间 包容性
代码是
public static final StringBuilder GET_SEARCH_USER_DETAIL = new StringBuilder().
append(" SELECT * FROM m_user_master").
append("WHERE M_User_Name = IFNULL(NULL,M_User_Name)AND Login_id = IFNULL('?',Login_id) ");
答案 0 :(得分:2)
尝试使用正则表达式:
import java.io.IOException;
import java.util.Scanner;
public class Ticket {
public static void main(String[] ar) throws IOException {
Scanner keb = new Scanner(System.in);
System.out.println("Enter ticket:");
String ticket = keb.nextLine();
String pattern = "[BbFfEe][0-9]{3}";
if (ticket.matches(pattern)) {
System.out.println("Ticket is VALID.");
} else {
System.out.println("Ticket is INVALID, it must starts with B, b, F, f, E, e characters following by 3 digits.");
}
}
}
答案 1 :(得分:1)
你想要达到的目的是:
Pattern pattern = Pattern.compile("(?i)[bef]\\d{3}");
if (pattern.matcher(ticket).matches()) {
System.out.println("valid ticket");
} else {
System.out.println("Invalid ticket, ticket must start with B, F or E");
}