Obliczanie pkb z wykorzystaniem klas

bambusa1
Użytkownik
Użytkownik
Posty: 75
Rejestracja: 6 lis 2010, o 11:19
Płeć: Kobieta
Podziękował: 21 razy

Obliczanie pkb z wykorzystaniem klas

Post autor: bambusa1 »

Napisz program o nazwie Program6, który wykorzystuje klasę PKB. Obiekty klasy PKB
powinny mieć atrybuty reprezentowane przez zmienne pkb i procent typu rzeczywistego
double. Zmienna pkb przechowuje aktualną wartość produktu krajowego brutto na jednego
mieszkańca. Zmienna procent przechowuje tempo wzrostu PKB w skali rocznej. Zachowanie
obiektów klasy PKB powinno być określone przez metodę wartosc, która pobiera przez
parametr ile typu rzeczywistego double zakładaną na przyszłość wartość PKB i wyświetla na
ekranie napis PKB osiagnie wartosc ... po ... latach. W miejsce kropek
powinny się pojawić kolejno: wartość przekazana do metody i liczba lat potrzebnych na
uzyskanie danej wartości PKB. Jeśli zakładana na przyszłość wartość PKB jest mniejsza lub
równa od aktualnej wartości PKB, to metoda wartosc powinna wypisać na ekranie napis
PKB jest wieksze lub rowne od podanej wartosci.
Metoda główna tworzy obiekt klasy PKB, który reprezentuje wartość PKB i przyrost
PKB Polski z roku 1998. Przypisuje referencję do obiektu klasy PKB do zmiennej lokalnej
polska metody głównej. Przy pomocy metody wartosc oblicza, po ilu latach PKB Polski na
jednego mieszkańca osiągnie wartość 12000 dolarów. Metoda główna tworzy obiekt klasy
PKB, który reprezentuje wartość PKB i przyrost PKB Niemiec z roku 1998. Przypisuje
referencję do obiektu klasy PKB do zmiennej lokalnej niemcy metody głównej. Przy pomocy
metody wartosc oblicza, po ilu latach PKB Niemiec na jednego mieszkańca osiągnie wartość
24000 dolarów.
Wskazówka:
W roku 1998 PKB Polski na jednego mieszkańca wynosił 6000 dolarów a przyrost PKB
utrzymywał się na poziomie 6 procent w skali roku. W roku 1998 PKB Niemiec na jednego
mieszkańca wynosił 12000 dolarów a przyrost PKB utrzymywał się na poziomie 1.2 procent
w skali roku.

Mam tyle:

Kod: Zaznacz cały

class PKB   
{
double pkb;
double procent;

PKB (double pkb, double procent)

{
this.pkb=pkb;
this.procent=procent;
}
void wartosc()
{
double ile;
{
if (pkb==12000)
 {
 Console.println("PKB  Polski osiągnie wartość "+wartosc+ "po " +ile + "latach ");
 }
  if (pkb<=6000) 
  {
  Console.println("PKB jest większe lub rowne od podanej wartosci");
  }
}
{
if (pkb==24000)
 {
 Console.println("PKB  Niemiec osiągnie wartość "+wartosc+ "po " +ile + "latach ");
 }
  if (pkb<=12000) 
  {
  Console.println("PKB jest większe lub rowne od podanej wartosci");
  }
}
}

public class Program6
{
public static void main (String[]args)
{
String polska;
String niemcy;
double pkb.polska=6000;
double pkb.niemcy=12000;
double procent.polska=6;
double procent.niemcy=1.2;

PKB pkb=new PKB(pkb, procent);
pkb.wartosc();

}
}

fajnie by było, gdyby ktoś mi pomógł zrobić reszte, poprawić...
mis02
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 15 gru 2009, o 17:19
Płeć: Mężczyzna
Lokalizacja: ///
Podziękował: 6 razy
Pomógł: 3 razy

Obliczanie pkb z wykorzystaniem klas

Post autor: mis02 »

Mogłaś chociaż napisać co to za język, bo że to java zorientowałem się jak skończyłem pisać program :/

Co do Twojego programu to wydaje mi się że całkowicie źle liczysz to pkb w metodzie 'wartosc' (w zasadzie to nie widzę w tym żadnego sensu). Z tego co wywnioskowałem z treści to pkb działa tak że co rok do jego wartości doliczana jest: aktualna_wartość*procent_wzrostu.

W mainie nie wiem po co tworzysz puste stringi, a do inicjowania obiektów PKB masz konstruktor.

W C# to wygląda tak (powinno się dać bez problemu przerobić na javę):

Kod: Zaznacz cały

namespace pkb
{
    class PKB
    {
        private double pkb;
        private double procent;

        public PKB(double dInPkb, double dInProcent)
        {
            this.pkb = dInPkb;
            this.procent = dInProcent;
        }

        public void wartosc(double ile)
        {
            int iYearCount = 0;
            double dTmpPkb = this.pkb;

            while (dTmpPkb < ile)
            {
                dTmpPkb += dTmpPkb * (this.procent / 100);
                ++iYearCount;
            }
            System.Console.WriteLine("PKB osiągnie wartość {0} po {1} latach\n", ile, iYearCount);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            PKB pkbPolska = new PKB(6000, 6);
            PKB pkbNiemcy = new PKB(12000, 1.2);

            System.Console.WriteLine("Polska: ");
            pkbPolska.wartosc(12000);

            System.Console.WriteLine("Niemcy: ");
            pkbNiemcy.wartosc(24000);

            System.Console.ReadLine();
        }
    }
}
ODPOWIEDZ