/*
* Lukurutiinit 2008 Mauri Heinonen
*
* Operaatiot:   Lue.rivi()    antaa seuraavan syöttörivin    (String)
*               Lue.kluku()     "      "      kokonaisluvun  (int)
*               Lue.dluku()     "      "      desimaaliluvun (double)
*               Lue.merkki()  antaa seuraavan syöttörivin ensimmäisen merkin
*
* Operaatiot ovat sitkeitä, ne VAATIVAT kelvollisen syötteen!
*/

import java.io.*;

public class Lue {
        static BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));

        public static String rivi() {
                String arvo=null;
                boolean ok;
                do {
                        try {
                                arvo = stdin.readLine();
                                ok = true;
                        } catch (Exception e) {
                                System.out.println("Virhe rivin lukemisessa. Anna uusi!");
                                ok = false;
                        }
                } while (!ok);
                return arvo;
        }

        public static int kluku() {
                int arvo=-1;
                boolean ok;
                do {
                        try {
                                arvo = Integer.parseInt(stdin.readLine());
                                ok = true;
                        } catch (Exception e) {
                                System.out.println("Kelvoton kokonaisluku. Anna uusi!");
                                ok = false;
                        }
                } while (!ok);
                return arvo;
        }

        public static double dluku() {
                double arvo=-1;
                boolean ok;
                do {
                        try {
                                arvo = new Double(stdin.readLine()).doubleValue();
                                ok = true;
                        } catch (Exception e) {
                                System.out.println("Kelvoton desimaaliluku. Anna uusi!");
                                ok = false;
                        }
                } while (!ok);
                return arvo;
        }

        public static char merkki() {
                String rivi = rivi();
                try {
                        return rivi.charAt(0);
                } catch (Exception e) {
                        return ' ';
                }
        }
}

Appletit:
DoupleClick HelloButton HelloButtonExample1 HelloButtonExample2 HelloButtonExample3 HelloButtonExample4 HelloClick HelloClick2 HelloColor HelloFont HelloImage HelloLine HelloStatus HelloWorld2 HelloWorldApplet MyEvent ScrollingText

Itsenäiset:
Break Continue HelloWorld Jatka Kertoma Kertotaulu Koe KoeNro LueMerkki LueMjonoon LueTied Merkkijono Silmukat Summaa Tahdet Tietotyypit Tilavuus Laskuri EnsimmaisetMetodit Lue LueTietoja Muunnos MuuttujienAlkeet Tulostus Arpanoppa