Java programm, et kontrollida, kas string on numbriline

Selles programmis saate teada erinevaid tehnikaid, et kontrollida, kas string on Java-s numbriline või mitte.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:

  • Java string
  • Java erandkäsitlus

Näide 1: kontrollige, kas string on numbriline

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

Väljund

 12345.15 on number

Ülaltoodud programmis on meil Stringnimeline string, mis sisaldab kontrollitavat stringi. Meil on ka boolean väärtusarv, mis salvestatakse, kui lõpptulemus on arvuline või mitte.

Et kontrollida, kas string sisaldab ainult numbreid, et proovida blokeerida, me kasutame Double's parseDouble()meetod teisendada stringi Double.

Kui see viskab vea (st NumberFormatExceptionviga), tähendab see, et string pole arv ja numbriline on seatud väärtusele false. Muidu, see on number.

Kui soovite siiski kontrollida, kas on mitu stringi, peate selle muutma funktsiooniks. Ja loogika põhineb erandite viskamisel, see võib olla üsna kallis.

Selle asemel võime kasutada regulaaravaldiste jõudu, et kontrollida, kas string on numbriline või mitte, nagu allpool näidatud.

Näide 2: kontrollige, kas string on numbriline või ei kasuta regulaaravaldisi (regex)

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

Väljund

 -1234.15 on arv

Ülaltoodud programmis kasutame proovimise püüdmise ploki asemel regexi, et kontrollida, kas string on arvuline või mitte. Seda tehakse Stringi matches()meetodil.

In matches()meetodit,

  • -?lubab -stringi negatiivsete arvude korral nulli või rohkem .
  • \d+kontrollib, et stringil peab olema vähemalt 1 või enam numbrit ( \d).
  • (\.\d+)?võimaldab nulli või enamat antud mustrist (\.\d+), milles
    • \.kontrollib, kas string sisaldab .(kümnendkoha täpsust) või mitte
    • Kui jah, peaks sellele järgnema vähemalt üks või mitu numbrit \d+.

Huvitavad Artiklid...