Java program za preverjanje, ali je niz numeričen

V tem programu se boste naučili različnih tehnik za preverjanje, ali je niz številen ali ne v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Java Java
  • Ravnanje z izjemami Java

Primer 1: Preverite, ali je niz številski

 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"); ) )

Izhod

 12345.15 je številka

V zgornjem programu imamo Stringimenovani niz, ki vsebuje niz, ki ga je treba preveriti. Imamo tudi logično vrednost numerično, ki shrani, če je končni rezultat številčen ali ne.

Če želimo preveriti, ali niz vsebuje samo številke, v bloku try uporabimo metodo Double'' parseDouble()za pretvorbo niza v Double.

Če vrže napako (tj. NumberFormatExceptionNapako), pomeni, da niz ni številka in je številska nastavljena na false. V nasprotnem primeru je številka.

Če pa želite preveriti, ali gre za več nizov, ga morate spremeniti v funkcijo. Logika temelji na metanju izjem, kar je lahko precej drago.

Namesto tega lahko z močjo regularnih izrazov preverimo, ali je niz številski ali ne, kot je prikazano spodaj.

2. primer: Preverite, ali je niz številski ali ne uporablja regularnih izrazov (regularni izraz)

 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"); ) )

Izhod

 -1234,15 je številka

V zgornjem programu namesto bloka try-catch uporabimo regularni izraz, da preverimo, ali je niz številski ali ne. To se naredi z matches()metodo String .

V matches()metodi je

  • -?dovoljuje nič ali več -za negativna števila v nizu.
  • \d+preveri, ali mora niz imeti vsaj 1 ali več številk ( \d).
  • (\.\d+)?omogoča nič ali več danega vzorca, (\.\d+)v katerem
    • \.preveri, ali niz vsebuje .(decimalna mesta) ali ne
    • Če je odgovor pritrdilen, mu mora slediti vsaj ena ali več številk \d+.

Zanimive Članki...