Praca domowa z Javy - help :(

0

Zacznę od tego, że jestem całkowicie zielona temacie. Javę mam na studiach podyplomowych i muszę oddać pracę domową. Niestety po jednych zajęciach mam jeszcze duży mętlik w głowie i nie potrafię tego programiku sama napisać.

Program ma zawierać 3 zmienne: imię, nazwisko, wiek. Po uruchomieniu na ekranie ma pojawić się tekst:

Witaj chłopaku/dziewczyno
Masz ma imię: Ewelina
Nazywasz się: Tajemnica
Za 5 lat skończysz: 34

Jest jeszcze jeden haczyk. Program ma prawidłowo wypisywać imię i nazwisko, tzn.pierwsza litera duża reszta małe. Tutaj prowadzący kazał wykorzystać to char i upper i lower.

Napisałam już trochę tego kodu:

public class PracaDomowa {
     public static void main(String[] args) {
         
         String imie = args[0];
         String nazwisko = args[1];
         String wiek = args[2];

         char znak = imie.charAt(imie.length()-1);
         
         if (znak == 'a')
            System.out.println("Witaj dziewczyno");
        else
            System.out.println("Witaj chłopaku");
         
         System.out.println("Masz na imie: "+ imie);
         System.out.println("Masz na nazwisko: "+ nazwisko);
          
         int liczba = Integer.parseInt(wiek);
   
         System.out.println("Za 5 lat skończysz: "+ liczba + 5);

Nie wiem jak sobie poradzić z tym wiekiem. Na razie program wyrzuca mi 295 lat.....a nie oblicza poprawnie....

Nie mam pojęcia jak pozmieniać te wielkości liter.

Czy ktoś jest mi w stanie z tym pomóc?

Byłabym niezmiernie wdzięczna za jakąkolwiek pomoc.

Ewelina

0
   System.out.println("Za 5 lat skończysz: "+ liczba + 5);

'' Na razie program wyrzuca mi 295 lat.....a nie oblicza poprawnie....'''

0

W skrócie - dlatego, że zamienia wiek i 5 na Stringa i dokonuje konkatenacji "29" + "5" = "295"
Umieść działanie w nawiasach

   System.out.println("Za 5 lat skończysz: "+ (liczba + 5));
0

Super! Zadziałało. Wielkie Dzięki. Ale jak sobie poradzić z zamianą liter: Pierwsza wielka i reszta małe w imieniu i nazwisku?

0

Gotowiec:

String output = input.substring(0, 1).toUpperCase() + input.substring(1);

Tylko musisz zrobić zabezpieczenia idiotoodporne, bo wywali wyjątek, jeżeli ktoś poda puste imię/nazwisko.

0

Kurczę coś mi nie chce tego kodu załapać....czy jest istotne, w którym miejscu to wkleję? Wyrzuca mi komunikat "cannot find symbol. Symbol variable input."

0

Tak. Ma znaczenie. Co gorsza musisz trochę pozmieniać powyższy gotowiec.

Możesz zdradzić, co to za studia?

0

To geoinformacja. Nie miałam nigdy nic wspólnego z informatyką i nie spodziewałam się, że będą nas uczyć Javy albo Pythona....ale muszę teraz przez to przebrnąć.

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