Ei nämä oikeeellisuudet taitu.
Pitäisi saada tarkistettua, että merkkijonon sLuku int arvona on 3000 ja 4000 välillä ja että numeroita on neljä ja ne merkit todella ovat numeroita.
Mikä tässä ei ole kohdallaan?
public static boolean onKelvollinen(String sLuku)
{
int kelvollinen = Integer.parseInt(sLuku);
return((Pattern matches("\\d{4}", sLuku))&& (kelvollienen >= 3000 && kelvollinen
Pitäisi saada tarkistettua, että merkkijonon sLuku int arvona on 3000 ja 4000 välillä ja että numeroita on neljä ja ne merkit todella ovat numeroita.
Mikä tässä ei ole kohdallaan?
public static boolean onKelvollinen(String sLuku)
{
int kelvollinen = Integer.parseInt(sLuku);
return((Pattern matches("\\d{4}", sLuku))&& (kelvollienen >= 3000 && kelvollinen
Vastaukset 2
Vanhimmat
Tee se joko käyttäen parseInt metodia tai regular expressionia. Molempia et kuitenkaan tarvitse.
Jos käytät parseInt metodia, senkun tarkistat onko luku väliltä 3000-4000. Jos parametri ei olekaan numeerinen, parseInt nostaa poikkeuksen "NumberFormatException" jonka käsittelet asiaankuuluvasti.
Jos käytät regular expressionia, niin määrittele tuo patterni niin että ensimmäinen numero voi olla vain 3 ja loput 3 viimeistä 0-9. Tällöin hyväksyttävät luvut ovat siis 3000-3999. Uskoisin että 4000 kuuluu olla ulkona alueesta mutta enhän voi sitä tietää kun en tehtävänantoa ole tarkalleen nähnyt ;)
public static boolean onKelvollinen(String sLuku)
{
try {
return Integer.parseInt(sLuku) >= 3000 && Integer.parseInt(sLuku)