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

java, początki, problem z kodem

Object Storage Arubacloud
0 głosów
703 wizyt
pytanie zadane 20 grudnia 2016 w Java przez niezalogowany

Hej.

 

Robię sobie takie zadanko:

 

10. Napisac program, dla podanej liczby całkowitej wyswietla jej dzielniki. Przykła-
dowo, dla liczby 21 dzielniki to: 1, 3, 7, 21.

I mam problem :D

 

Zrobiłem coś takiego:

 

buff = JOptionPane.showInputDialog("Wprowadź liczbę całkowitą: ");
x = Integer.parseInt(buff);


StringBuilder sb = new StringBuilder();
        for(y=1;y<x;y++){
            w = x/y;
            if(w == (int)w)){
             sb.append(y).append(" \n ");
        }
        }
        String out = sb.substring(0, sb.length());
        JOptionPane.showMessageDialog(null, "Dzielniki danej liczby to: " +out);

I coś tu nie gra, bo przed ifem jest błąd "illegal start of expression".

 

Proszę o jakieś wskazówki, a nie gotowce :P Rozumiem ten kod tak: dla każdego y mniejszego od x, wykonaj w = x/y a jeśli w jest liczbą całkowitą, dodaj y do wyświetlanego stringa. Zwiększ y o 1 i wykonaj ponownie. Na końcu, kiedy !(y<x) wykonaj wyrzucenie okienka z kolumną liczb.

 

PS. Czy jeśli mam problem z takimi zadaniami po 2 miesiącach nauki (30min-1h dziennie), to nie nadaję się do tego? :P

3 odpowiedzi

0 głosów
odpowiedź 20 grudnia 2016 przez niezalogowany
Ok, wiem, w = x/y da zawsze Integer ;/
komentarz 20 grudnia 2016 przez Mateusz51 Nałogowiec (28,180 p.)
Jak już chcesz takie coś zrobić to możesz spróbować porównywać x == Math.round(x)
komentarz 20 grudnia 2016 przez Mateusz51 Nałogowiec (28,180 p.)
Ale najłatwiej to chyba było by zastosowanie działania %(modulo). Jeśli liczba a jest dzielnikiem b to b % a == 0
komentarz 21 grudnia 2016 przez niezalogowany
O, kurcze, nie znałem tego działania b%a -> to znaczy może miałem na zajęciach, ale jako że nie potrzebowałem w praktyce, to zapomniałem :)
0 głosów
odpowiedź 20 grudnia 2016 przez Mateusz51 Nałogowiec (28,180 p.)
A zainiciowałeś gdzieś w i x? Bo błąd wyglada tak jakbyś zapominał. A i zapomianłem o y
komentarz 20 grudnia 2016 przez niezalogowany
Zainicjowałem jako public static int a pytanie o liczbę i drugą część umieściłem w osobnych metodach.
komentarz 20 grudnia 2016 przez Mateusz51 Nałogowiec (28,180 p.)
hmm bez reszty kodu nie powiem Ci dlaczego kompilator wyrzuca bląd. Obawiam się ze mogłeś pomieszać deklaracje. A i zamiast substring(0, sb.leangyh()) nie łatwiej jest użyc toString()?
0 głosów
odpowiedź 20 grudnia 2016 przez niezalogowany
Problem znikł po restarcie netBeans, ale program nie działa jak powinien :P

Podobne pytania

0 głosów
2 odpowiedzi 1,928 wizyt
pytanie zadane 25 czerwca 2020 w Java przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
1 odpowiedź 635 wizyt
pytanie zadane 23 grudnia 2016 w Java przez niezalogowany
+3 głosów
1 odpowiedź 1,292 wizyt

92,555 zapytań

141,402 odpowiedzi

319,548 komentarzy

61,939 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!

...