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

Sumowanie l. parzystych i nie parzystych w JAVA

Object Storage Arubacloud
0 głosów
3,110 wizyt
pytanie zadane 1 grudnia 2017 w Java przez Patrycja Ły Początkujący (270 p.)

Treść zadania

Zsumować tylko liczby parzyste od 0 do 20 i nieparzyste. Wyświetlić większy wynik

Poniżej moje wypociny, nie wiem jak to zrobić. Kod nie działa, czy wytłumaczy mi ktoś jak to powinno wyglądać? Jestem początkująca.
   

 public static void main(String[]args){
    
int[] myArr1 = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int[] myArr2 = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int sum1 = 0;
int sum2 = 0;

    if (x<y) {
    for(int x=0; x<myArr1.length; x++) {
    sum1 += myArr1[x];
    System.out.println(sum1);
}
    else (y<x){
    for(int y=0; y<myArr2.length; y++) {
        sum2 +=myArr2[y];
        System.out.println(sum2);
    }
    }
}

}

 

2 odpowiedzi

0 głosów
odpowiedź 1 grudnia 2017 przez Wiciorny Ekspert (270,190 p.)
if (x<y)

jak ma działać? Skoro na starcie warunek nie jest spełniony? Czym jest x, czym jest y.. nie wiadomo ? 

Program czytany jest z góry do dołu,  a ty deklarujesz  zmienną: x jako iterator dopiero w pętli for.

Więc na starcie program warunek x<y czy  uzna za nieprawdiłowy, tak w ogóle program się nie odpali- bo "exception error wyrzuci " 

Test.java:19: error: not a statement
    else (y<x){
         ^
Test.java:19: error: ';' expected
    else (y<x){
              ^
Test.java:19: error: 'else' without 'if'
    else (y<x){
    ^
3 errors

 

0 głosów
odpowiedź 1 grudnia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
if (x<y) {

Co to są za zmienne x i y? Nie zostały wcześniej zadeklarowane przed ich użyciem.

Poza tym po co tworzysz dwie tablice przechowujące liczby parzyste i nieparzyste? (tak na sucho). Gdybyś miała zsumować liczby nieparzyste z zakresu 1 do 128379182739817293712983721 to też byś tak po kolei wypisywała? laugh

Moja propozycja - utwórz taką pętlę for:

int oddSum = 0;
int evenSum = 0;

for (int i = 0; i <= 20; i++) {
    if (i % 2 == 0) {
        // Liczba jest parzysta
        evenSum += i;
    }
    else {
        // Liczba jest nieparzysta
        oddSum += i;
    }
}

Wiadomo, że wśród wszystkich liczb naturalnych od 0 do X (w twoim przypadku X = 20) są liczby (na przemian) parzyste i nieparzyste. Liczby parzyste dzielą się przez dwa bez reszty, a więc modulo wynosi 0, dla liczb nieparzystych modulo wyniesie 1.

A z wyświetleniem większego wyniku chyba sobie poradzisz.

P.S.

Ogólnie to jak tak patrzę w twój kod, to zachęcam Cię do ponownego przerobienia podstaw tego języka, bo masz tu ewidentnie braki.

komentarz 1 grudnia 2017 przez Patrycja Ły Początkujący (270 p.)
dzięki za odp, wiem, że mam braki bo jestem na początku ścieżki, pisałam to też na początku posta. niestety na ćwiczeniach mamy taką prowadzącą, która sama chyba nie do końca wie co tłumaczy (przynajmniej takie sprawia wrażenie).

Ucze się z sololearn i na podstawie tego stworzyłam ten kod wyżej ;)

Podobne pytania

0 głosów
2 odpowiedzi 1,278 wizyt
pytanie zadane 24 listopada 2020 w C i C++ przez Wolv63 Użytkownik (630 p.)
0 głosów
1 odpowiedź 7,406 wizyt
pytanie zadane 28 października 2018 w C i C++ przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
3 odpowiedzi 6,222 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...