У цій програмі ви вивчите різні методи, щоб перевірити, чи рядок є числовим чи ні в Java.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:
- Рядок Java
- Обробка винятків Java
Приклад 1: Перевірте, чи рядок є числовим
public class Numeric ( public static void main(String() args) ( String string = "12345.15"; boolean numeric = true; try ( Double num = Double.parseDouble(string); ) catch (NumberFormatException e) ( numeric = false; ) if(numeric) System.out.println(string + " is a number"); else System.out.println(string + " is not a number"); ) )
Вихідні дані
12345.15 - це число
У наведеній вище програмі ми маємо String
іменований рядок, який містить рядок, який потрібно перевірити. У нас також є логічне значення числове, яке зберігає, якщо кінцевий результат є числовим чи ні.
Щоб перевірити, чи містить рядок лише цифри, у блоці try ми використовуємо метод Double
'' parseDouble()
для перетворення рядка в a Double
.
Якщо він видає помилку (тобто NumberFormatException
помилку), це означає, що рядок не є числом, а числовим встановлено значення false
. В іншому випадку це число.
Однак, якщо ви хочете перевірити, чи є ряд рядків, вам потрібно буде змінити його на функцію. І логіка базується на викидах, це може бути досить дорого.
Натомість ми можемо використовувати потужність регулярних виразів, щоб перевірити, чи є рядок числовим чи ні, як показано нижче.
Приклад 2: Перевірте, чи рядок є числовим чи не використовує регулярні вирази (регулярний вираз)
public class Numeric ( public static void main(String() args) ( String string = "-1234.15"; boolean numeric = true; numeric = string.matches("-?\d+(\.\d+)?"); if(numeric) System.out.println(string + " is a number"); else System.out.println(string + " is not a number"); ) )
Вихідні дані
-1234,15 - це число
У наведеній вище програмі, замість використання блоку try-catch, ми використовуємо регулярний вираз, щоб перевірити, чи є рядок числовим чи ні. Це робиться за допомогою matches()
методу String .
У matches()
способі,
-?
допускає нуль або більше-
для від’ємних чисел у рядку.\d+
перевіряє, що рядок повинен мати принаймні 1 або більше чисел (\d
).(\.\d+)?
допускає нуль або більше заданого шаблону,(\.\d+)
в якому\.
перевіряє, чи містить рядок.
(десяткові крапки) чи ні- Якщо так, за ним має бути принаймні одне або декілька цифр
\d+
.