1   import fi.jyu.mit.ohj2.IO;
2   /**
3    * Esimerkki kuinka luetaan yhden näppäimen painallus<br>
4    * <br>
5    * Kirjaston käyttöohje katso:
6    * <a href="http://www.mit.jyu.fi/~vesal/kurssit/ohj2/ali/">ali</a><br>
7    * <br>
8    * Lisätehtävä pääteohjauksen 5 aluksi:
9    *<pre>
10   * Tehtäviä:
11   *   1)  Muuta ohjelma sellaiseksi, että se kysyy
12   *         Oletko Tyttö,Poika,Mies vaiko Nainen (tpmN) >
13   *       ja tulostaa sen jälkeen sopivan ilmoituksen tästä.
14   *
15   *   2)  Muuta ohjelmaa edelleen siten, että se ohjelman
16   *       lopuksi ilmoittaa montako tyttöä/poikaa/miestä/naista
17   *       vastattiin. (Voi tulostaa myös koko ajan sen hetkistä
18   *       tpmn -lukumäärää)
19   *</pre>
20   * @author Vesa Lappalainen
21   * @version 1.0, 12.02.2003
22   *
23  */
24  public class Aanestys {
25  
26    /**
27     * Tulostetaan jono ilman rivinvaihtoa
28     * @param s Tulostettava merkkkijono
29     */
30    public static void tulosta(String s) { System.out.print(s); }
31  
32    /** Tulostetaan rivinvaihto */
33    public static void lf() { System.out.println(); }
34  
35    /**
36     * Kysytään käyttäjältä haluaako jatkaa vai ei.  Vastaukseksi kelpaa
37     * iso tai pieni K ja E.  Jos painetaan [Ret], tulkitaan tämä K-vastaukseksi.
38     * @return halusiko jatkaa (true) vai ei (false)
39     */
40    static boolean jatketaan() {
41      char c;
42      tulosta("Jatketaanko (K/e):");
43      c = IO.odota_nappain("KE",'K',IO.MERKKI_ISOKSI);
44      tulosta(""+c);
45      return ( c == 'K' );
46    }
47  
48    static void aanesysvalinta() {
49      lf(); lf();
50      tulosta("Onko ohjelmointi kivaa?"); lf();
51      lf();
52      tulosta("Valitse:");                lf();
53      tulosta("  K = Kyllä");             lf();
54      tulosta("  E = Ei");                lf();
55      tulosta("  O = En Osaa sanoa");     lf();
56      tulosta(" :");
57    }
58  
59    public static void main(String[] args) {
60      char painettu;
61      do {
62        aanesysvalinta();
63        painettu = IO.odota_nappain("KEO",'K',IO.MERKKI_ISOKSI);
64  
65        tulosta(""+painettu); lf();
66        tulosta("Äänestit siis ");
67  
68        switch ( painettu ) {
69          case 'K' : tulosta("Kyllä");         break;
70          case 'E' : tulosta("Ei")   ;         break;
71          case 'O' : tulosta("En osaa sanoa"); break;
72        }
73  
74        lf();
75  
76      } while ( jatketaan() );
77  
78      lf();
79      tulosta("Kiitos vastauksista!  Hei hei!"); lf();
80    }
81  }
82