У овом програму ћете научити различите технике за проверу да ли је низ нумерички или не у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава Стринг
- Руковање изузецима Јава
Пример 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
именовани низ који садржи низ који треба проверити. Такође имамо логичку вредност нумеричку која се чува ако је коначни резултат нумерички или не.
Да бисте проверили да ли је низ садржи само бројеве, у три блоку, користимо Double
'с parseDouble()
метод за претварање у струна на 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 је број
У горњем програму, уместо да користимо три-цатцх блок, користимо регуларни израз за проверу да ли је низ нумерички или није. Ово се ради помоћу Стринг-ове matches()
методе.
У matches()
методи,
-?
дозвољава нулу или више-
за негативне бројеве у низу.\d+
проверава да низ мора имати најмање 1 или више бројева (\d
).(\.\d+)?
дозвољава нула или више датог обрасца(\.\d+)
у коме\.
проверава да ли низ садржи.
(децималне тачке) или не- Ако је одговор да, требало би да га прати бар један или више бројева
\d+
.