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?
Faktycznie, dziękuję :D
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.