Witam. Tworzę program, mający na celu dodanie imienia, nazwiska oraz wieku osoby, po czym program doda dana osobe do listy. Napisalem kod ponizej, lecz gdy wpisze Stop program nie reaguje. Jak zakonczyc program wpisujac stop. Oraz jak obsluzyc wyjatek by blokowal wpisanie liczby innej niz z podanego przedzialu? W tym momencie wyjatek dziala , lecz nie pozwala ponowic wpisywania oraz nie wyswietla listy. Z gory dziekuje za pomoc
import java.util.ArrayList;
import java.util.Scanner;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
public class Osoba {
String imie;
String nazwisko;
static int wiek;
public String getImie() {
return imie;
}
public void setImie(String imie) {
this.imie = imie;
}
public String getNazwisko() {
return nazwisko;
}
public void setNazwisko(String nazwisko) {
this.nazwisko = nazwisko;
}
public int getWiek() {
return wiek;
}
public void setWiek(int wiek) {
this.wiek = wiek;
}
public static void main(String[] args) {
Osoba osoba = new Osoba();
osoba.imie = "Stefan";
osoba.nazwisko = "Kowalski";
osoba.wiek = 25;
ArrayList<String> osoby = new ArrayList();
//String wiek = String.valueOf(osoba.wiek);
//String dane = osoba.imie + osoba.nazwisko + wiek;
Scanner scan = new Scanner(System.in);
while(!scan.nextLine().equals("Stop")){
System.out.println("Wprowadź dane, by przerwać wpisz 'Stop'");
System.out.println("");
System.out.println("Wprowadź imię");
osoba.imie = scan.nextLine();
System.out.println("Wprowadź nazwisko");
osoba.nazwisko = scan.nextLine();
System.out.println("Wprowadź wiek");
osoba.wiek = scan.nextInt();
String dane = osoba.imie + " " + osoba.nazwisko + " " + osoba.wiek;
osoby.add(dane);
try{
if(Osoba.wiek < 0 || Osoba.wiek > 110){
throw new WrongAgeValueException("Niedozwolona wartość wieku " + Osoba.wiek);
}
}
catch (WrongAgeValueException ex){
System.out.println(ex.getMessage());
}
System.out.println(osoby);
}
}
}
class WrongAgeValueException extends Exception
{
public WrongAgeValueException(String string){
super(string);
}
}