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

Sumowanie liczb nieparzystych przy pomocy pętli - wyświetlenie tylko sumy wszystkich liczb nieparzystych

VPS Starter Arubacloud
0 głosów
440 wizyt
pytanie zadane 19 listopada 2022 w Java przez sylwka128 Nowicjusz (170 p.)

Cześć,

Jestem tu pierwszy raz i totalny świeżak w Javie.
Dostałam do zrobienia takie zadanie:

1. Stwórz tablicę z liczbami (4, 643, 112, 9999, 69), tablicę nazwij numbers.
2. W pętli for sprawdź, które są parzyste i wypisz je w konsoli jedna pod drugą.
3. Utwórz dodatkową zmienną sumOdd o wartości 0.
4. Zmodyfikuj pętlę z pkt. 2 w ten sposób, aby dodatkowo sumowała liczby nieparzyste.
5.Wyświetl w konsoli dodatkowy komunikat, wg wzoru: SUMA: 10711.

Utworzyłam taki kod:

public static void main(String[] args) {
		int[] numbers = {4, 643, 112, 9999, 69};
		int sumOdd = 0;
		for (int i = 0; i <= 4; i++) {
			if (numbers[i] % 2 == 0) {
				System.out.println(numbers[i]);

			}
		}
		for (int i = 0; i <= 4; i++) {
			if (numbers[i] % 2 == 1) {
				sumOdd += numbers[i];
				System.out.println("SUMA:" + " " + sumOdd + ".");
			}
		}
	}
}

Ale otrzymuję wynik jak poniżej:
4
112
SUMA: 643.
SUMA: 10642.
SUMA: 10711.

 

Więc ta pierwsza część z liczbami parzystymi jest ok, ale przy nieparzystych nie wiem co robię źle, że wyświetla mi sumę 1 pozycji, potem 1+2, potem 1+2+3. Potrzebuję tylko tej ostatniej. Domyślam się, że coś nie tak z pętlą? Wybaczcie, ale uczę się javy od 2 tyg :)

2 odpowiedzi

+1 głos
odpowiedź 19 listopada 2022 przez VBService Ekspert (251,210 p.)
edycja 19 listopada 2022 przez VBService

5 punkt, wypisanie zrób poza pętlą

[ on-line ]

        int sumOdd = 0;
        for (int i = 0; i <= 4; i++) {
            if (numbers[i] % 2 == 1) {
                sumOdd += numbers[i];
            }
        }
        System.out.println("SUMA: " + sumOdd + ".");

bo przy każdej iteracji wyświetla się Tobie suma cząstkowa.

 

BTW, nieparzystość można "sprawdzić" przez negację wartości dla parzystej

if (numbers[i] % 2 != 0) { ...

 

1
komentarz 19 listopada 2022 przez sylwka128 Nowicjusz (170 p.)
Teraz jest ok, bardzo dziękuję za pomoc!
+1 głos
odpowiedź 23 listopada 2022 przez Wiciorny Ekspert (269,120 p.)

Dla ciekawostki : 
Z zlozonosci 0(n^2) - ograniczasz sie tylko do O(n) + 1 
 

  public static void main(String[] args) {
    int[] numbers = {4, 643, 112, 9999, 69};

    final int sum = Arrays.stream(numbers).peek(number -> {
      if (number % 2 == 0) {
        System.out.println("Parzysta: " + number);
      }
    }).filter(number -> number % 2 != 0).sum();
    System.out.println("Suma nieparzystych: " +sum);
  }

 

Podobne pytania

0 głosów
2 odpowiedzi 4,669 wizyt
pytanie zadane 26 listopada 2015 w C i C++ przez agre Użytkownik (550 p.)
+1 głos
1 odpowiedź 1,061 wizyt
0 głosów
3 odpowiedzi 4,792 wizyt
pytanie zadane 28 grudnia 2016 w C i C++ przez szejmys Nowicjusz (160 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...