检查integer在java中是否包含一些字符内容

检查integer在java中是否包含一些字符内容,java,validation,integer,Java,Validation,Integer,每当我试图在internet上查找从用户字段接受的int值是否包含一些字符,如a-z或任何特殊字符时,所有站点都会假定输入是字符串形式的。 作用 boolean numberValidation(int number){ if number has characters mentioned above, return false else return true } 尝试分析它,如果发生异常,则返回false,否则返回true boolean numberValidation(S

每当我试图在internet上查找从用户字段接受的int值是否包含一些字符,如a-z或任何特殊字符时,所有站点都会假定输入是字符串形式的。 作用

boolean numberValidation(int number){
    if number has characters mentioned above, return false
   else return true
}

尝试分析它,如果发生异常,则返回false,否则返回true

boolean numberValidation(String supposedNumber) {
    boolean flag = false;
    int x;
    try {
        x = Integer.parseInt(supposedNumber);
        flag = true;
    } catch(NumberFormatException ex) {
        flag = false;
    }
    return flag;
}

尝试分析它,如果发生异常,则返回false,否则返回true

boolean numberValidation(String supposedNumber) {
    boolean flag = false;
    int x;
    try {
        x = Integer.parseInt(supposedNumber);
        flag = true;
    } catch(NumberFormatException ex) {
        flag = false;
    }
    return flag;
}

以下是我认为你想要的:

public boolean isNumber(String value) { 
    return Pattern.compile("\\d+").matcher(value).matches();
}

以下是我认为你想要的:

public boolean isNumber(String value) { 
    return Pattern.compile("\\d+").matcher(value).matches();
}

如果您要查找任何数字大于9的十六进制数,可以这样做:

// hex representation of -889275714
int i = 0xcafebabe;
// just 1
int j = 1;
// represents both as hexadecimal String representations
String is = Integer.toHexString(i);
String ij = Integer.toHexString(j);
// pattern to check for letters
Pattern alpha = Pattern.compile("[a-z]", Pattern.CASE_INSENSITIVE);
System.out.printf("\"%s\" contains characters, \"%s\" does not.%n", is, ij);
输出


对于表示数字的字符串,如其他答案中所示,请使用Integer.parseInt并捕获NumberFormatException。

如果要查找任何数字大于9的十六进制数字,可以这样做:

// hex representation of -889275714
int i = 0xcafebabe;
// just 1
int j = 1;
// represents both as hexadecimal String representations
String is = Integer.toHexString(i);
String ij = Integer.toHexString(j);
// pattern to check for letters
Pattern alpha = Pattern.compile("[a-z]", Pattern.CASE_INSENSITIVE);
System.out.printf("\"%s\" contains characters, \"%s\" does not.%n", is, ij);
输出


对于表示数字的字符串,如其他答案所示,请使用Integer.parseInt并捕获NumberFormatException。

在这种情况下,编译器将抱怨传递的参数

如果参数是一个字符串,并且希望检测该字符串是否为有效整数,则可以对其进行分析,以控制异常。以下代码是一个建议:

boolean numberValidation(String number){
    try{
        Integer.parseInt(number);
        return true;
    }catch(NumberFormatException e){
        return false;
    }
}

关于,

在这种情况下,编译器将抱怨传递的参数

如果参数是一个字符串,并且希望检测该字符串是否为有效整数,则可以对其进行分析,以控制异常。以下代码是一个建议:

boolean numberValidation(String number){
    try{
        Integer.parseInt(number);
        return true;
    }catch(NumberFormatException e){
        return false;
    }
}


注意,

提示:数字的类型为int,不能包含字母数字字符。int中怎么可以包含字符?不可能的你一定是指绳子。在这种情况下,正则表达式是一种方法。我不能理解你的问题。整数是数字表示的,字符也是字母数字的。请澄清:您有一个inputfield,它接受字母数字输入,但只允许数字输入?提示:数字的类型为int,不能包含字母数字字符。int怎么可能包含字符?不可能的你一定是指绳子。在这种情况下,正则表达式是一种方法。我不能理解你的问题。整数表示为数字,字符表示为字母数字。请澄清:您有一个接受字母数字输入的inputfield,但只允许其中的数字输入?1。它不编译,2。只是代码答案对OP没有帮助。我不明白为什么这会被否决。完全可以接受,尽管我并不热衷于用这种方式使用异常。@Nabin catch without exception?@BackSlash你一定是在开玩笑吧。。你也在寻找代码的准确性吗?@反斜杠我不太确定提到的异常是否拼写正确:-1。它不编译,2。只是代码答案对OP没有帮助。我不明白为什么这会被否决。完全可以接受,尽管我并不热衷于用这种方式使用异常。@Nabin catch without exception?@BackSlash你一定是在开玩笑吧。。你也在寻找代码的准确性吗?@反斜杠我不太确定提到的异常是否拼写正确:-为什么不只是value.matches\\d+?为什么不只是value.matches\\d+?Nedless说它也可以用regex完成,但这是一种有点复杂但很酷的方式:。Nedless说它也可以用regex完成,但这是一种有点复杂但很酷的方法:。谢谢Mena,这就是我要找的。你能告诉我如何使用模式alpha来检查整数吗。类似于布尔值valid=password.matchespasswordRegex@Kernelfreak不知道你的意思?也许一个新问题更适合这个?没关系。知道了。谢谢。谢谢梅娜,这就是我要找的。你能告诉我如何使用模式alpha来检查整数吗。类似于布尔值valid=password.matchespasswordRegex@Kernelfreak不知道你的意思?也许一个新问题更适合这个?没关系。知道了。谢谢