Hogyan kell saját osztállyal és objektumokkal tömb műveleteket végrehajtani Java nyelven?
Írtam egy programot, amiben objektum segítségével kell meghatározni a tömbben lévő könyvek oldalainak összegét. Valaki be tudná fejezni, mert én ezt nem tudom összehozni:
package gyakorlás_objektumok;
public class Gyakorlás_objektumok {
public static void main(String[] args) {
konyv [] konyvek = new konyv[3];
konyvek [0] = new konyv ("Szakurazaka Hirosi","All you need is kill",224);
konyvek [1] = new konyv ("Leiner Laura","Bábel",528);
konyvek [2] = new konyv ("Veronica Roth","A Beavatott",430);
}
}
class konyv{
String szerzo;
String cim;
int oldalSzam;
public konyv(String szerzo, String cim, int oldalSzam) {
this.szerzo = szerzo;
this.cim = cim;
this.oldalSzam = oldalSzam;
}
}
Valahogy így nézhet ki a statikus függvény. A statikus függvény lényege tömören, hogy az osztályon keresztül hívod meg nem annak egy példányán.
class Konyv { /* ..... */ }
Statikus:
Konyv.OsszOldal();
Tagfüggvény:
Konyv k = new Konyv();
k.OsszOldal();
A megoldást inkább lehagyom, majd szépítünk a te verziódon, persze csak ha szükséges.
List<konyv> lista = new ArrayList<konyv>();
for (int i = 0; i < konyvek.length; i++) {
lista.add(konyvek[i]);
}
Így csináltam listát a tömbből
És most ne nézettek nagyon hülyének, de ez alapján sem tudom megoldani
Nincs valami más ötleteket, mert ezeket biztos nem tanultuk, és szerintem van egy másik megoldás is rá
Main:
public static void main(String[] args)
{
ArrayList<Konyv> konyvek = new ArrayList<Konyv>();
konyvek.add(new Konyv("Szakurazaka Hirosi","All you need is kill",224));
konyvek.add(new Konyv("Leiner Laura","Bábel",528));
konyvek.add(new Konyv("Veronica Roth","A Beavatott",430));
int osszesOldal = Konyv.OsszOldal(konyvek);
}
--------------------------------------------------------
Konyv:
public class Konyv
{
String szerzo;
String cim;
int oldalSzam;
public Konyv(String szerzo, String cim, int oldalSzam)
{
this.szerzo = szerzo;
this.cim = cim;
this.oldalSzam = oldalSzam;
}
public static int OsszOldal(ArrayList<Konyv> konyv)
{
int ossz = 0;
for (Konyv k : konyv)
ossz += k.oldalSzam;
return ossz;
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!