Pisze program obslugujacy wyjatki, polega on na dodawaniu osob do listy. Wszystko dziala oprocz zakonczenia programu. Chce zeby program po zakonczeniu petli za kazdym razem pytal czy chce dalej wprowadzac. Za kazdym razem pyta, lecz gdy wpisze "Nie" to program sie nie konczy
import java.util.ArrayList;
import java.util.Scanner;
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);
System.out.println("Wprowadź dane osoby");
while(!scan.nextLine().equals("Nie")){
System.out.println("Czy chcesz dalej wprowadzać dane? Tak/Nie");
scan.nextLine();
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 + " dana osoba zostanie usunięta z listy.");
}
}
catch (WrongAgeValueException ex){
System.out.println(ex.getMessage());
osoby.remove(dane);
System.out.println(osoby);
return;
}
System.out.println(osoby);
}
}
}
class WrongAgeValueException extends Exception
{
public WrongAgeValueException(String string){
super(string);
}
}