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

Nadanie 'wartosci czasowej'

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
131 wizyt
pytanie zadane 17 września 2016 w Java przez ThunderEagle Nowicjusz (200 p.)
edycja 18 września 2016 przez ThunderEagle

Witam wszystkich forumowiczow!
Jako, ze niedawno zaczalem przygode z java, duzo rzeczy nie wiem, lecz dzisiaj robiac sobie 'dzienne zadania' ktore sobie wyznaczam napotkalem problem ktorego nie moge rozwiazac i nie moge takze znalezc czegos, co moglo by mi pomoc go rozwiacac, ale przejdzmy do rzeczy.

Chodzi mi mianowicie o to, aby nadac klasie 'wartosc czasowa', ale najpierw pokarze kod i dopiero opisze o co mi dokadniej chodzi:
 

package javaapplication13;
import java.util.Scanner;


public class JavaApplication13 {

   
    
    public static void main(String[] args) {
        
        double adpackprice = 5; //cena paczki
        int adpack; //paczka
        double naliczenia; //dzienny przychód
        int ROI; //Return of investment ROI = 110% (Czyli paczka za 5 konczy się gdy osiągnie 5,50)
        double DailyCharge; //dzienne naliczenia (np.2,5%)
        
        double AdPackTotal; //Cena wszystkich paczek razem
        double money; //posiadane pieniądze
        int reset = 1; 
        int day = 1;
        
        
        
        
        Scanner input = new Scanner(System.in);
        System.out.println("How many ADPack's do You have?");
        adpack = input.nextInt();
        System.out.println("What are Your daily charges?(in %)");
        naliczenia = input.nextDouble();
        System.out.println("What is the Return of investment?(in %)");
        ROI = input.nextInt();
        System.out.println("So You have "+adpack+" AdPack's and daily charge is: "+naliczenia+"%.");
        System.out.println();
        double naliczeniaproc = (naliczenia/100)+1;
        DailyCharge = (ROI/naliczenia);  //Po tym czasie powinno odjac od adpack -1
        
        while(adpack<=50) //Petla ktora sie konczy po uzyskaniu 50 adpack.
        {       
            AdPackTotal = adpackprice*adpack;
            money = (AdPackTotal*naliczeniaproc/DailyCharge*reset++); //Obliczenie dziennych naliczen.
           
            System.out.println("Day:"+(day++) +"\t AdPack's: " + adpack);
                if(money>=5) //Petla ktora po uzyskaniu 5$ dodaje do 'adpack' 

                        {
                            reset = 1;
                            adpack=adpack+1;
                            money = money-adpackprice;
                        }
            
            
        }
        
     }

 }

Problemem jest to, ze do klasy 'adpack' dochodza kolejne adpack'i (z petli while) ktore powinny trwac przez czas jaki wynosi 'Daily Charge'(np. 36 'dni'), gdyz adpack powinien sie konczyc gdy dojdzie do 'ROI' (np. 110%)  swojej wartosci.
Czyli kazdy kolejny dochodzacy adpack takze powinna trwac "Daily Charge"(Np. 33 dni).
(Nie chodzi mi o to, aby co '36 dni' odejmowal 1 od adpack, tylko nadal on kazdej pojedynczej paczce 'czasowa wartosc 36 dni.)

Rola programu jest taka, ze powininen on wyliczac, w jakim czasie uzytkownik jest w stanie osiagnac np. 50 adpack. Mam nadzieje, ze poprawnie opisalem problem i ze to moje 'widzi mi sie' jest wykonalne bez jakiegos strasznie skomplikowanego kodu.

Za wszelka pomoc bardzo dziekuje i czekam na Wasze odpowiedzi, pozdrawiam :)!

komentarz 18 września 2016 przez niezalogowany
Podsumujmy: każdy 'adpack' powinien posiadać swój niezależny licznik czasu odejmowany co turę / obieg pętli?

1 odpowiedź

0 głosów
odpowiedź 18 września 2016 przez Trucik Obywatel (1,130 p.)
Mógłbyś wyjaśnić samą treść zadania? Bez opisywania problemu. Nie bardzo mogę złapać o co chodzi. Nie jestem ekonomistą :).

Na pierwszą myśl przychodzi mi jednak by adpack był obiektem, który będzie miał odpowiednie pola np. licznik czasu.

Przydatne będzie tzw. User Story.

Mam 1 Adpack moje naliczenia wynoszą x moje ROI ma być y w dniu 1 mam tyle w 2 tyle w 3 tyle. Po takim rozpisie jak rozkminię matmę, którą chcesz uzyskać będę mógł podpowiedzieć jakieś rozwiązanie. Teraz niestety jestem za cienki aby zrozumieć o co Ci chodzi xd.

Podobne pytania

0 głosów
1 odpowiedź 85 wizyt
0 głosów
2 odpowiedzi 856 wizyt
pytanie zadane 23 sierpnia 2021 w Offtop przez mpaw Użytkownik (580 p.)
0 głosów
0 odpowiedzi 376 wizyt

93,439 zapytań

142,431 odpowiedzi

322,674 komentarzy

62,802 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

...