Artur 46 wyśw. 02-07-2025 10:45

Praca domowa 2 zad 1

1. Napisz program, w którym zdefiniowane są początkowo dwie zmienne oznaczające wiek dwóch
osób, a program wypisuje na ekranie wiek tych osób i informację, która z tych osób jest starsza i o ile
lat jest starsza od drugiej osoby. Jeśli ponadto starsza z osób ma powyżej 100 lat, to program powinien
wyświetlić komunikat: „Życzymy 200 lat!”. Przetestuj program dla kilku różnych wprowadzonych
wartości.
Przykładowy wynik działania programu:
Wiek pierwszej osoby: 27
Wiek drugiej osoby: 103
Druga osoba jest starsza od pierwszej o 76 lat.
Życzymy 200 lat!


class Main {
    public static void main(String[] args) {
        // ZADANIE 1
        int a=120, b=10;
        System.out.println("Wiek pierwszej osoby: "+a);
        System.out.println("Wiek drugiej osoby: "+b);
        if(a > b)
        {
            System.out.println("Pierwsza osoba jest starsza od drugiej o "+(a-b)+" lat.");
            if(a > 100)
            {
                System.out.println("Zyczymy 200 lat!");      
            }
        }
        else 
        {
            System.out.println("Druga osoba jest starsza od pierwszej o "+(b-a)+" lat.");
            if(b > 100)
            {
                System.out.println("Zyczymy 200 lat!");
            }
            if (a < 0 || b < 0 || a > 199 || b > 199)
            {
                System.out.println("Wprowadzony wiek jest niepoprawny");
            }
        }
    }
}


Jak sprawić, żeby wypisało tylko "Wprowadzony wiek jest niepoprawny", gdy a < 0 || b < 0 || a > 199 || b > 199 i nie liczyło już wtedy różnicy b - a lub a - b?


Programowanie Dodaj post do ulubionych Poproś o pomoc
s.gugula 02-07-2025 21:02

Tego ifa, którego dałeś na koniec należałoby dać na początku i np. dopiero w jego elsie dać "właściwą" część kodu. Wtedy jeśli ten pierwszy if będzie spełniony to w istocie wyświetli się tylko informacja, że wiek jest niepoprawny.


Artur 02-07-2025 21:11

Faktycznie, dziękuję :D


Zadzwoń teraz Dotknij, aby się ze mną skontaktować.