Java-具有2种数据类型的字符串的事件句柄数据保护

Java-具有2种数据类型的字符串的事件句柄数据保护,java,Java,对于事件处理,如何检查包含整数和字符组合的字符串 例如-1234p 如果用户输入上述示例,您如何检查用户是否先输入整数,然后在末尾输入字符?如果数据类型输入不是整数或字符,将引发何种异常?如果字符串包含字符和整数,则可以使用REGEX[0-9]+[a-zA-Z]进行匹配,否则将引发IllegalArgumentException public void check(String input) { if (!input.matches("[0-9]+[a-zA-Z]")) {

对于事件处理,如何检查包含整数和字符组合的字符串

例如-1234p

如果用户输入上述示例,您如何检查用户是否先输入整数,然后在末尾输入字符?如果数据类型输入不是整数或字符,将引发何种异常?

如果字符串包含字符和整数,则可以使用REGEX[0-9]+[a-zA-Z]进行匹配,否则将引发IllegalArgumentException

public void check(String input) {
    if (!input.matches("[0-9]+[a-zA-Z]")) {
        throw IllegalArgumentException("Not valid string");
    }
    // do other logic
}

因此,从你的问题听起来,你希望字符串包含所有数字,但最后一个字符必须是字母表。您也可以通过以下方式检查给定字符串是否符合此条件:

String string = "1234p";
int length = string.length();
boolean numsFirst = string.substring(0, length - 1).chars().allMatch(x -> Character.isDigit(x));
boolean lastChar = Character.isDigit(string.charAt(length - 1));
if(numsFirst && lastChar)
    return true;
else
    return false;

谢谢是否可以针对特定的字符?像'a'或'Z'是的,这个可能的正则表达式以任何数字开始,一个或多个,以及来自a-Z和a-ZI的任何字符,使其工作,我可以专门针对'a'和't'例如。如果是其他字母,则例外情况是thrownTry这个正则表达式[0-9]+[a|t]