Clover Coverage Report - ali Coverage Report
Coverage timestamp: su marras 1 2009 19:10:37 EET
../../../../img/srcFileCovDistChart0.png 72% of files have more coverage
18   101   10   3,6
6   36   0,56   5
5     2  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  IO       Line # 9 18 10 0% 0.0
 
No Tests
 
1    package fi.jyu.mit.ohj2;
2    /**
3    * Alkeellinen IO-luokka hoitamaan mm. yhden näppäimen painallukseen
4    * liittyviä tehtäviä.
5    *
6    * @author Vesa Lappalainen
7    * @version 1.0, 10.02.2003
8    */
 
9    public class IO {
10   
11    /**
12    * Luetaan yksi käyttäjän painama merkki
13    * @return käyttäjän painama merkki
14    */
 
15  0 toggle public static char lue_merkki() { // NOPMD sallitaan alleviiva historian painolastina
16    // String s = Syotto.lue("");
17    // if ( s.length() == 0 ) return 0;
18    // return s.charAt(0);
19  0 return Readkey.getChar();
20    }
21   
22    /**
23    * Rivinvaihto
24    */
25    public static final String RIVINVAIHTO = "\r\n";
26   
27    /**
28    * Ei käytetä oletusarvoa
29    */
30    public static final char EI_OLETUSTA = 0;
31   
32    /**
33    * Kaikki merkit kelpaavat
34    */
35    public static final String KAIKKI_KELPAA = null;
36   
37    /**
38    * Muutetaan merkit isoiksi ennen vertailua ja palautusta
39    */
40    public static final boolean MERKKI_ISOKSI = true;
41   
42   
43    /**
44    * Odotetaan yhden merkin painamista. Vain jonossa kelpaavat olevat
45    * hyväksytään. Jos painetaan [Enter], palautetaan merkki oletus.
46    * Jos merkki_isoksi == true, muutetaan merkki ennen vertailua ja palautusta
47    * isoksi kirjaimeksi.
48    * Esim. <pre>c = odota_nappain("KE",'K',MERKKI_ISOKSI)</pre>
49    * odottaa kunnes painetaan joko K,k,E,e tai [Enter]. Jos painetaan
50    * [Enter], palautetaan 'K', muuten ko. painettu merkki.
51    *
52    * @param kelpaavat Joukko kirjaimia jotka kelpaavat. null = kaikki kelpaa
53    * @param oletus Merkki joka palautetaan [Enter] painamisesta, 0 = ei oltusta
54    * @param merkki_isoksi muutetaanko merkki isoksi kirjaimeksi (true) vai ei
55    * @return käyttäjän painama merkki, joko joukosta kelpaavat tai sitten oletus
56    */
 
57  0 toggle public static char odota_nappain(String kelpaavat, char oletus, // NOPMD sallitaan alleviiva historian painolastina
58    boolean merkki_isoksi) {
59  0 char painettu;
60  0 do {
61  0 painettu = lue_merkki();
62  0 if ( merkki_isoksi ) painettu = Character.toUpperCase(painettu);
63  0 if ( oletus != EI_OLETUSTA && RIVINVAIHTO.indexOf(painettu) >= 0 )
64  0 return oletus;
65  0 } while ( kelpaavat != null && kelpaavat.indexOf(painettu) < 0 );
66  0 return painettu;
67    }
68   
69   
70    /**
71    * Odotetaan kunnes käyttäjä painaa jotakin merkkiä
72    */
 
73  0 toggle public static void odota_jotakin() { // NOPMD sallitaan alleviiva historian painolastina
74  0 System.out.println("Paina jotakin!");
75  0 odota_nappain(KAIKKI_KELPAA,EI_OLETUSTA,MERKKI_ISOKSI);
76    }
77   
78   
79    /**
80    * Odotetaan kunnes käyttäjä painaa joko K tai E
81    * @return true jos käyttäjä painaa K, muuten false
82    */
 
83  0 toggle public static boolean kylla_vastaus() { // NOPMD sallitaan alleviiva historian painolastina
84  0 return (odota_nappain("KE",'K',MERKKI_ISOKSI)=='K');
85    }
86   
87   
88    /**
89    * Testataan syöttöluokkaa
90    * @param args ei käytössä
91    */
 
92  0 toggle public static void main(String[] args) {
93  0 String kelpaavat = "ABCDE";
94  0 System.out.print("Paina joku kirjaimista " + kelpaavat + " (F) :");
95  0 char c = odota_nappain(kelpaavat,'F',MERKKI_ISOKSI);
96  0 System.out.println();
97  0 System.out.println("Painoit " + c);
98  0 odota_jotakin();
99    }
100    }
101