• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyzwalacz zakonczenia programu nie dziala

Object Storage Arubacloud
0 głosów
88 wizyt
pytanie zadane 17 maja 2020 w Java przez Avalansz Użytkownik (580 p.)

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

 

1 odpowiedź

0 głosów
odpowiedź 17 maja 2020 przez sefir Dyskutant (8,560 p.)
Pytaj na końcu while, bo pytasz na początku i ten stan nie jest przekazywany do while.

Podobne pytania

0 głosów
0 odpowiedzi 77 wizyt
pytanie zadane 15 maja 2020 w Java przez Avalansz Użytkownik (580 p.)
+1 głos
1 odpowiedź 336 wizyt
0 głosów
1 odpowiedź 126 wizyt
pytanie zadane 23 listopada 2020 w C i C++ przez Michał Galericz Początkujący (400 p.)

92,551 zapytań

141,398 odpowiedzi

319,529 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...