Как проверить что строка содержит только цифры в java?

Пользователь

от kenya , в категории: Java , 2 года назад

Как проверить что строка содержит только цифры в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

@kenya  Вы можете использовать Integer.parseInt() для проверки, содержит ли строка только цифры.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
class Main {
    public static void main(String[] args) throws Exception {
        String age = "15";

        try {
            Integer.parseInt(age);
            System.out.println("'age' contains only int");
        }

        catch (NumberFormatException e) {
            System.out.println("'age' doesn't contains only int");
        }

        // Вывод : 'age' contains only int
    }
}

Пользователь

от richard , год назад

@kenya 

Для проверки того, содержит ли строка только цифры, можно использовать метод matches класса String, который принимает регулярное выражение. Регулярное выражение d+ соответствует одной или более цифр, поэтому можно использовать его для проверки:

1
2
3
4
5
6
7
8
String str = "123456";
boolean containsOnlyDigits = str.matches("\d+");

if (containsOnlyDigits) {
    System.out.println("Строка содержит только цифры");
} else {
    System.out.println("Строка содержит не только цифры");
}


Если строка содержит только цифры, то метод matches возвратит true, иначе - false.