Šioje programoje išmoksite įvairių metodų, kad patikrintumėte, ar eilutė yra skaitinė, ar ne „Java“.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“ eilutė
- „Java“ išimčių tvarkymas
1 pavyzdys: patikrinkite, ar eilutė yra skaitinė
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"); ) )
Rezultatas
12345.15 yra skaičius
Pirmiau pateiktoje programoje turime String
pavadintą eilutę, kurioje yra tikrintina eilutė. Mes taip pat turime loginę reikšmės skaitmenį, kuri saugoma, jei galutinis rezultatas yra skaitinis, ar ne.
Norėdami patikrinti, ar eilutė yra tik skaičiai, o bando blokuoti, mes naudojame Double
's parseDouble()
metodą konvertuoti eilutę iki A Double
.
Jei tai sukelia klaidą (ty NumberFormatException
klaidą), tai reiškia, kad eilutė nėra skaičius, o skaitmeninis yra nustatytas false
. Kitaip, tai skaičius.
Tačiau, jei norite patikrinti, ar yra keletas eilučių, jums reikės pakeisti ją į funkciją. Logika pagrįsta išmetimo išimtimis, tai gali būti gana brangu.
Vietoj to, mes galime naudoti reguliarių posakių galią, kad patikrintume, ar eilutė yra skaitinė, ar ne, kaip parodyta žemiau.
2 pavyzdys: Patikrinkite, ar eilutė yra skaitinė, ar nenaudoja taisyklingų posakių (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"); ) )
Rezultatas
-1234.15 yra skaičius
Ankstesnėje programoje, užuot naudoję bandymo gaudymo bloką, mes naudojame regex, kad patikrintume, ar eilutė yra skaitinė, ar ne. Tai daroma naudojant Stringo matches()
metodą.
Pagal matches()
metodą
-?
leidžia nuliui ar daugiau-
neigiamų skaičių eilutėje.\d+
patikrina, ar eilutėje turi būti bent 1 ar daugiau skaičių (\d
).(\.\d+)?
leidžia nulį ar daugiau nurodyto modelio(\.\d+)
, kuriame\.
patikrina, ar eilutėje yra.
(dešimtainiai taškai), ar ne- Jei taip, po jo turėtų būti nurodytas bent vienas ar keli skaičiai
\d+
.