Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Anonim

    Hej:)

    Podczas proby tworzenia tzw. kalkulatora kredytowego, czyli prostego programu do obliczania wysokości raty kredytu natknąłem się na następujący problem - nie da sie podnieść liczby typu double do potegi typu int - taki dostaje komunikat przy kompilacji. Zrodłem tego błegu jest nastepujący kod ( a konkretnie formuła z ostatniego wiersza):

    double kwKredytu = (Double.parseDouble(kwotaKredy tu.getText()));
    int lRat = (Integer.parseInt(liczbaRat.ge tText()));
    double oproc = (Double.parseDouble(oprocentow anie.getText()));
    double wysokoscRaty = ((kwKredytu*oproc/12/100)/(1-( 1+oproc)^-lRat));


    Macie jakiś pomysł jak to ominąć?
    Nie jestem biegły w programowaniu, tym bardziej w javie, zatem apeluję o prosto sformułowane podpowiedzi, czyli tłumaczenie jak krowie na rowie;)

    Z góry dzieki:)

    pzdr.

    ps. znając zycie to pewnie nie ostatnia rzecz, na której padnę walcząc z tym zadaniem:/
  • Anonim

    Juz wiem :) Wydawało mi się, ze przed zadaniem tego pytania wystarczająco długo próbowałem znaleźć odpowiedź, ale poł godziny poźniej okazało się ze jednak nie;). Sorry.
    pzdr.
  • Adept

    Java to nie excel. Zainteresuj sie klasa Math i jej metodą statyczną pow.

    operator "^" - oznacza w javie operator bitowy XOR a nie podnoszenie do potęgi.

    czasami po prostu warto pogooglać.
  • Anonim

    Dzieki za odpowiedź:) Zgraliśmy się postami:)

    Zastosowałem pow() i program się skompilował i sie uruchamia (takie proste GUI do wklepania trzech danych wejsciowych), ale, ku mojemu zdziwieniu, nie liczy prawidłowo:/

    Formuła jest teraz taka:
    double wysokoscRaty = ((kwKredytu*oproc/(100*12))/(1 -pow(1+oproc,lRat)));

    Natomiast jej wynik czyli wysokoscRaty nie uwzglednia w ogole tego, co wpisuję w pole textowe liczba rat:(

    Oczywiście bede walczył z tym dzielnie dalej, ale wszelkie uwagi są jak najbardziej mile widziane:)

    PS. A co do Excela, to nawet mi nic nie mów, bo przecież to samo zadanie w Excelu da się zrobić w trzy minuty bezpośrednio w arkuszu, nie zaprzegając nawet VBA. Niestety (albo stety, patrząc z edukacyjnego punktu widzenia) muszę to zrobić w Javie:/


    pzdr.
  • Anonim

    Ja już tu chyba o nic nie będę pytał;) Pozmieniałem tą formułę i zaczęło liczyć prawidłowo. Ale jak będę dalej z takim tempem działał, czyli prawie godzinę na każdą przeszkodę to nie skończę chyba tego do sylwestra;)

    Stanowczo powinna być na gronie możliwość usuwania postów przez ich autora;)

    pzdr.
  • george

    Nie czytalem tej formulki musze przyznac bo az oczy bola, ale postaraj sie ja rozbic na mniejsze czesci albo zainteresuj sie kolejnoscia operatorow, czasem to czyni cuda.


    pzdr