Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java-ongelma

TsaTsaTsaa [14.02.2008 22:12:58]

#

Teen java-harjoituksia Javalassa (http://javala.cs.tut.fi) ja vastaan tuli sinänsä helppo tehtävä, jossa pitää tehdä luokalle staattinen funktio, joka tarkistaa rekisterinumeron laillisuuden (pituus 7 merkkiä ja neljäs merkki -). Seuraavassa koodissa on Javalan mielestä jotakin vikaa, mutta itse en tajua:

public static boolean isLicenseNumber(String s)
{
  boolean tulos = true;

  if ( s.length() != 7 || s.charAt(3) != '-' )
  {
    tulos = false;
  }

  return tulos;
}

Sitten jos vaihtelee noita trueja ja falseja jotenkin muuten, niin sitten Javala sanoo, että kääntyy (mutta tietysti toimii väärin), mutta edellä olevalla tavalla Javala sanoo, että heittää NullPointerExceptionia.

EDIT: Niin ja mainittakoon, että kyseessä on siis Java basics -> Classes, ensimmäinen tehtävä.

Antti Laaksonen [14.02.2008 22:39:54]

#

Tehtävässä pitää myös varautua tilanteeseen, jossa kunnollisen merkkijonon sijasta funktiolle annetaan null-parametri.

if (s == null) ...

TsaTsaTsaa [14.02.2008 22:59:13]

#

No niinpä tietysti. Kiitoksia.

Teuro [15.02.2008 14:35:39]

#

Eikös lisäksi tulisi tutkia onko 1 - 3 merkkiä kirjaimia ja 5 - 7 numeroita? hankaluutta lisää se, että Suomessa sallitaan myös I-22 ja SI-1 tai vaikka PEN-15 oikeiksi rekkareiksi. Tätä ei kai vaadita tuossa tehtävässä.

TsaTsaTsaa [15.02.2008 21:33:19]

#

Teuro kirjoitti:

Eikös lisäksi tulisi tutkia onko 1 - 3 merkkiä kirjaimia ja 5 - 7 numeroita? hankaluutta lisää se, että Suomessa sallitaan myös I-22 ja SI-1 tai vaikka PEN-15 oikeiksi rekkareiksi. Tätä ei kai vaadita tuossa tehtävässä.

Niin siis tehtävänannossa sanottiin, että riittää vain tarkistaa pituus ja että viiva neljäntenä.

Teuro [17.02.2008 12:56:32]

#

Jepulis tuo oliki vain typerä kommentti. Älä ota tuota niin vakavasti :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta