import java.util.Locale; /** * Testiluokka ja -ohjelma luokan Puhelu kokeilemiseksi ja testaamiseksi */ public class Karkausvuosiohjelma { private Scanner lukija; /** * Luokan konstruktori. * */ public Karkausvuosiohjelma() { this.lukija = new Scanner(System.in); this.lukija.useDelimiter(System.getProperty("line.separator")); this.lukija.useLocale(Locale.US); } /** * Apumetodi int-lukujen lukemiseen * * @return Luettu arvo */ private int lueInt() { int arvo = 0; boolean onnistui = false; while (!onnistui) { try { arvo = this.lukija.nextInt(); onnistui = true; } catch (InputMismatchException ime) { String s = this.lukija.nextLine(); System.out.println("Kelvoton kokonaisluku: \"" + s + "\". Anna uusi!"); } catch (NoSuchElementException nse) { } } return arvo; } /** * Luokan metodi, joka sisältää varsinaisen toiminnallisen osuuden * */ private void aja() { System.out.println("Anna tarkasteltavien vuosien alaraja:"); int alaraja = this.lueInt(); System.out.println("Anna tarkasteltavien vuosien yläraja:"); int ylaraja = this.lueInt(); Karkausvuosilaskuri k = new Karkausvuosilaskuri(alaraja, ylaraja); System.out.println("\nVälillä olevat karkausvuodet:\n" + k.luetteleKarkausvuodet()); } /** * Yksinkertainen pääohjelma. * * @param args Komentoriviparametrit (ei käytetä) */ public static void main(String[] args) { Karkausvuosiohjelma p = new Karkausvuosiohjelma(); p.aja(); } }