| IntKentta.java |
1 package kanta;
2 import fi.jyu.mit.ohj2.Mjonot;
3
4 /**
5 * Kenttä kokonaislukujen tallentamiseksi
6 * @author vesal
7 * @version 31.3.2008
8 *
9 */
10 public class IntKentta extends PerusKentta {
11 private int arvo;
12
13 /**
14 * Alustetaan kenttä kysymyksellä.
15 * @param kysymys joka näytetään kenttää kysyttäessä.
16 */
17 public IntKentta(String kysymys) { super(kysymys); }
18
19 /**
20 * @return kentän arvo kokonaislukuna
21 */
22 public int getValue() { return arvo; }
23
24 /**
25 * Asetetaan kentän arvo kokonaislukuna
26 * @param value asetettava kokonaislukuarvo
27 */
28 public void setValue(int value) { arvo = value; }
29
30 /**
31 * @return Kentän arvo merkkijonona
32 * @see kanta.PerusKentta#toString()
33 */
34 @Override
35 public String toString() { return ""+arvo; }
36
37
38
39 /**
40 * Asetetaan kentän arvo merkkijonosta. Jos jono
41 * kunnollinen, palautetaan null. Jos jono ei
42 * kunnollinen int-syöte, palautetaan virheilmoitus ja
43 * kentän alkuperäinen arvo jää voimaan.
44 * @param jono kentään asetettava arvo mekrkijonona
45 * @return null jos hyvä arvo, muuten virhe.
46 * @see kanta.PerusKentta#aseta(java.lang.String)
47 *
48 * @example
49 * <pre name="test">
50 * IntKentta kentta = new IntKentta("määrä");
51 * kentta.aseta("12") === null; kentta.getValue() === 12;
52 * kentta.aseta("k") === "Virhe: jono = \"k\""; kentta.getValue() === 12;
53 * </pre>
54 */
55 @Override
56 public String aseta(String jono) {
57 StringBuffer sb = new StringBuffer(jono);
58 try {
59 this.arvo = Mjonot.erotaEx(sb,' ',0);
60 return null;
61 }
62 catch (NumberFormatException ex) {
63 return "Virhe: " + ex.getMessage(); }
64 }
65 }
66