Програма Java для перевірки чи є рядок числовим

У цій програмі ви вивчите різні методи, щоб перевірити, чи рядок є числовим чи ні в 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+.

Цікаві статті...