用户输入任何字符串,程序会区分字符串是否符合条件的产品ID。
合格产品ID是由两个大写字母和四个数字组成的字符串中的任何一个。 (例如,“TV1523”)
我该如何制作这个节目?
答案 0 :(得分:32)
您应该使用正则表达式比较字符串,例如:
str.matches("^[A-Z]{2}\\d{4}")
会给出一个关于它是否匹配的布尔值。
正则表达式的工作原理如下:
^ Indicates that the following pattern needs to appear at the beginning of the string.
[A-Z] Indicates that the uppercase letters A-Z are required.
{2} Indicates that the preceding pattern is repeated twice (two A-Z characters).
\\d Indicates you expect a digit (0-9)
{4} Indicates the the preceding pattern is expected four times (4 digits).
使用此方法,您可以遍历任意数量的字符串,并检查它们是否符合给定的条件。
您应该阅读正则表达式,如果您担心性能,可以使用更有效的方式存储模式。
答案 1 :(得分:5)
你应该仔细看看正则表达式。教程例如是在regular-expressions.info。
你的模式的一个例子可能是
^[A-Z]{2}\d{4}$
你可以看到它here on Regexr.com是一个在线测试正则表达式的好地方。
这里有java regex tutorial,您可以看到如何用Java调用它们。
答案 2 :(得分:0)
public static void main(String[] args) throws Exception {
String id = "TV1523";
BufferedReader br = new BufferedReader((new InputStreamReader(System.in)));
String tocompare = br.readLine();
if(tocompare.equals(id)) { //do stuff
类似的东西,除了你可能用魔杖把readLine()包含在try catch中:x