在Java for String类中,有一个名为matches的方法,如何使用此方法检查我的字符串是否只使用正则表达式的数字.我试着用下面的例子,但是他们两个都把我弄错了.
String regex = "[0-9]";
String data = "23343453";
System.out.println(data.matches(regex));
String regex = "^[0-9]";
String data = "23343453";
System.out.println(data.matches(regex));
/**
 * Set the person's mobile phone number
 */
public void setMobile(String mobile) {
    for (int i = 0; i < mobile.length(); i++) {
if (!Character.isDigit(mobile.charAt(i))) {}
}
this.mobile = mobile;
}
所以我基本上需要确保字符串只包含数字,如果它包含非数字,则该方法什么都不做。我遇到的问题是,如果一串数字中有一个随机字符,即“034343a45645”,它仍然会设置该方法。任何帮助表示感谢!
我希望写一个小方法来做以下事情:例如,字符串a ="a123",那么方法应该返回fulse; 字符串b ="111",它应该返回true.这意味着只有字符串是int,它应该返回true,所有其他情况应该返回false.有人能帮帮我吗?谢谢!
我是新来的,我的代码有问题.
我有一个5个字符的字符串,这就是我想出来的
public static boolean isNumber(String strng) {
    return (strng.contains("[0-9]+"));
}
public static void main(String[] args) {
     String strng; 
     Scanner strong = new Scanner(System.in);
while (isNumber(dato) == true && dato.length() != 5){
        System.out.println("Isnt a correct id number");
        strng = strong.nextLine();
    }
但是有了这个我可以引入一个点或一个分号,我试过[a-zA-Z]+并且boolean在假但是不工作我只搜索从0到9的数字.
有什么线索吗?