Wywołanie zakończenia programu

0

Dzien dobry. Tworze program, ktory dodaje do listy dane osob. Chce zeby po kazdym dodaniu program pytal czy ma dalej dodawac, problem polega na tym, ze pyta, lecz nic sobie z tego nie robi. Nie wiem co robie zle. Prosze o pomoc```

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

najpierw sprawdzasz, potem pytasz.
Na pewno tak miało być? Pewnie "połykasz" linię inną niż myslisz.

Ja jakbym miał problem, by while zapisał mniej hakersko, użył zmiennej, sprawdził debugerem.

0

pomoglo. Dziekuje :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1