Skocz do zawartości

zadanie, poczatek z Java..


karolinalyczko

Recommended Posts

Witam, wlasnie rozpoczelam w nowym semestrze swoja przygode z java :) na pierwszych zajeciach dostalam do zrobienia takie o to zadania, szczerze kompletnie nie wiem jak sie zabrac do niego zeby bylo dobrze zrobione:

  1. Do kazdego z ponizszych punktów napisac odpowiedni program. W kazdym z tych programów wczytac liczbe naturalna n, a nastepnie wczytujac kolejno n liczb rzeczywistych obliczyc wartosc odpowiednich wyrazen: (a) a1 + a2 + ....+ an (b) a1 * a2 *... * an (c) |ja1| + |a2|+ : : : + |an|
  2. Wczytac liczbe naturalna n, a nastepnie wczytujac kolejno ciag n liczb rzeczywistych a1, a2,...., an wypisac ciag a2, a3,...,an,a1.

// licze na pomoc lub jakies podpowiedzi jak sie do tego zabrac

Link do komentarza
Udostępnij na innych stronach

Hej, Co prawda "Javowcem" nie jestem, ale coś tam się ze studiów jeszcze pamięta i postaram się nakierować Cię na właściwy trop. Zaczynamy:

Pierwszym krokiem w każdym z tych zadań jest wczytanie danych, zapewne z konsoli, więc może Ci się przydać metoda ReadLine. Jeśli ją użyjesz to wczytywany jest ciąg znaków aż do wciśnięcia ENTER, które później będziesz musiała sparsować do inta - tu z pomocą przyjdzie ParseInt. Zatem wczytujesz string z konsoli, parsujesz na int i masz w ten sposób wczytaną liczbę.

W tym miejscu warto też sprawdzić czy podany ciąg znaków można sparsować na int. Domyślnie z tego co wiem, parsowanie do inta wyrzuca wyjątek jeśli operacja zakończy się niepowodzeniem, ale można zrobić taką metodę jak tutaj: TryParse i masz pewność, że parsowanie przebiegnie poprawnie - jedyny minus tej metody to dwukrotne parsowanie stringa do inta.

Jak już wiesz jak wczytywać liczby to dalej jest już łatwo:

  1. Wczytujesz liczbę n.
  2. Tworzysz listę na której będziesz przechowywać liczby:

    List<Integer> numbers = new ArrayList<Integer>();
  3. Tworzysz pętlę:

    for (int i = 0; i < n: i++)

    i w jej ciele ponownie wczytujesz liczby z konsoli i zapisujesz na listę:

    numbers.Add(liczba);
  4. Jak już masz wczytane wszystkie liczby, robisz kolejną pętlę po wszystkich elementach listy i sumujesz je, mnożysz, czy co tam potrzebujesz:

    int sum = 0;
    for (int j = 0; j < numbers.size(): j++) {
        sum += numbers.get(j);
    }
  5. Do obliczenia wartości absolutnej można użyć:

    Math.abs(liczba);
  6. Ostatni krok to wyświetlenie wyniku:

    System.out.println("Result : " + sum);

To oczywiście tak w skrócie co do zrobienia. Można też to ulepszyć - zamiast wczytywać dane na listę, to po wczytaniu napisu z konsoli i sparsowaniu go do inta, od razu można wykonać na nim operacje (suma, mnożenie czy co trzeba) i wtedy pozbędziesz się nadmiarowej listy i nadmiarowej iteracji po niej.

Była też chyba jakaś metoda, którą można od razu z konsoli wczytywać liczby bez konieczności parsowania, ale teraz nie pamiętam jej.

Co do zadania 2 - tutaj możesz wczytać do jakiejś zmiennej pierwszą liczbę jaka będzie wczytana, kolejne od razu wyświetlać na konsolę, a na końcu wyświetlić tą zapamiętaną zmienną. Wtedy dostaniesz docelowy wynik (a2, a3, a4, ... , an, a1)

Mam nadzieję, że napisałem w miarę zrozumiale i podołasz zadaniu :) W razie potrzeby pisz :)

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...