Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Miten lasketaan tietyn luokan oliot?

E1ss [18.04.2016 17:26:26]

#

Oon siis mooc.fi kurssilla tekemässä matopeli harjoitusta. Siinä pitäisi jotenkin saada näkyviin kuinka monta alkiota yhdestä luokasta on tehty. Miten tämä on mahdollista?

Metabolix [18.04.2016 17:45:59]

#

Jos oliot on tallennettu johonkin tietorakenteeseen, lukumäärä selvinnee siitä suoraan.

Muuten järkevä ratkaisu yleensä on käyttää laskurimuuttujaa, jota korotetaan aina, kun luodaan uusi olio. Laskuri kuuluu yleensä sinne, missä olioita luodaan.

class A {
    int count = 0;
    B newB() {
        count += 1;
        return new B();
    }
}

Kysymäsi asia eli ihan kaikkien luokan olioiden lakseminen on luultavasti väärä. Jos kuitenkin olet varma, että haluat tehdä juuri niin, voit käyttää staattista laskurimuuttujaa luokan sisällä:

class C {
    static int count = 0;
    C() {
        count += 1;
    }
}

Lue sitä MOOCia, niin ehkä opit. Siinä opetetaan kaikki ne Java-asiat, jotkat tehtävissäkin pitää osata. Väitit aiemmin, että osaat ohjelmoida kohtalaisen hyvin, mutta siinä taisit olla väärässä.

Lisäksi opettele laittamaan kunnollisia otsikoita näille kysymyksillesi. ”Java mooc.fi” ei kuvaa mitenkään ongelmaasi.

E1ss [18.04.2016 17:57:12]

#

joo nyt älysinkin. Pieni aivokatkos. Tietenkin tehdään counter johon lisätään yksi joka kerta kun sitä kutsutaan.

TuomasK [18.04.2016 19:56:59]

#

Oliko tässä nyt kyse tuosta madon pituuden laskemisesta? Jos olet tallettanut ne madon palaset listaan, kuten siellä ohjeessa neuvottiin, madon pituus on täsmälleen sama kuin listan pituus. Tuosta kysymyksestäsi ei käy mitenkään ilmi olioiden tallentaminen listaan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta