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();
}
}