SHARE
TWEET

Untitled

a guest Feb 14th, 2020 90 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * Viikkoharjoitus 4, tehtävä 5.
  3.  *
  4.  * Olio-ohjelmoinnin perusteet I, kevät 2020.
  5.  *
  6.  * Ajatelmaa mallintava luokka.
  7.  *
  8.  * Jorma Laurikkala (jorma.laurikkala@tuni.fi).
  9.  *
  10.  */
  11.  
  12. public class Ajatelma {
  13.  
  14.    /*
  15.     * Ilmentymäattribuutit.
  16.     *
  17.     */
  18.  
  19.    // Ajatelman sisältö.
  20.    private String lause;
  21.  
  22.    /*
  23.     * Rakentajat.
  24.     *
  25.     */
  26.  
  27.    /*
  28.     * Alustaa uuden ajatelman annetulla kirjallisella ilmauksella. Heittää
  29.     * poikkeuksen, jos ilmausta ei ole (null) tai se vaikuttaa liian lyhyeltä.
  30.     */
  31.    public Ajatelma(String uusiLause) throws IllegalArgumentException {
  32.       // Hyödynnetään asettajaa, joka heittää poikeuksen, jos parametri
  33.       // havaitaan virheelliseksi.
  34.       lause(uusiLause);
  35.    }
  36.  
  37.    /*
  38.     * Muut ilmentymämetodit.
  39.     *
  40.     */
  41.  
  42.    /*
  43.     * Ajatelman sisällön palauttava metodi.
  44.     */
  45.    public String lause() {
  46.       return lause;
  47.    }
  48.  
  49.    /*
  50.     * Asettaa ajatelmalle uuden sanallisen ilmauksen. Heittää poikkeuksen,
  51.     * jos ilmausta ei ole (null) tai se vaikuttaa liian lyhyeltä.
  52.     */
  53.    public void lause(String uusiLause) throws IllegalArgumentException {
  54.       // Reaktio null-arvoon.
  55.       if (uusiLause == null) {
  56.          throw new IllegalArgumentException("Null-arvoinen parametri!");
  57.       }
  58.  
  59.       // Reaktio liian lyhyeen parametriin.
  60.       if (uusiLause.length() < 2) {
  61.          throw new IllegalArgumentException("Parametrissa liian vähän merkkejä!");
  62.       }
  63.  
  64.       // Voidaan asettaa, jos päästiin tänne asti.
  65.       lause = uusiLause;
  66.    }
  67. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top