Forum » Programiranje » Java razredi, konstruktorji. Pomoč
Java razredi, konstruktorji. Pomoč
uro1001 ::
Pozdravljeni
Rešujem neko nalogo z razredi in konstruktorji in sem prišel do naslednje težave. Namreč nevem kako izdelati metodo da bo izpisala avtorje. Trenutno izpisujem tabelo, vendar mi izpiše naslov pomnilnika. Konstruktor v razredu Author mora biti prazen, sedaj pa nevem kako izpisati podatke o avtorju.
Rešujem neko nalogo z razredi in konstruktorji in sem prišel do naslednje težave. Namreč nevem kako izdelati metodo da bo izpisala avtorje. Trenutno izpisujem tabelo, vendar mi izpiše naslov pomnilnika. Konstruktor v razredu Author mora biti prazen, sedaj pa nevem kako izpisati podatke o avtorju.
amacar ::
Metoda ti more vrniti avtorje, torej vrneš
V classu Author narediš neko metodo (recimo overridaš toString()), ki ti vrne name + email + gender.
Izpišeš jih pa tako da v loopu kličeš to metodo nad posameznim primerkom avtorja.
return authors;
V classu Author narediš neko metodo (recimo overridaš toString()), ki ti vrne name + email + gender.
Izpišeš jih pa tako da v loopu kličeš to metodo nad posameznim primerkom avtorja.
authors[i].toString();
uro1001 ::
metodo sem že naredil ki mi vrne tabelo authors, in nato v zanki to tabelo izpisujem. Torej moram narediti le še metodo toString za izpis podatkov, da nebo izpisovalo pomnilniškega naslova. Sem pa pozabil dodati, da imam 3 razrede, eden je testni drug razred so avtorji in eden so knjige. Po sodeči sliki, bi morala biti metoda toString() v razredu Book.
Zgodovina sprememb…
- spremenil: uro1001 ()
uro1001 ::
Sem pa pozabil dodati, da imam 3 razrede, eden je testni drug razred so avtorji in eden so knjige. Tako imam v razredu metodo toString in v to metodo moram vrniti spremenljivke iz razredaAuthor in nato izpisat.
amacar ::
toString v Book bo verjetno izpisal vse podatke o knjigi, naslov, ceno, avtorje, količino itd...
toString v Author pa le podatke o enem avtorju, ime, email, spol
toString v Author pa le podatke o enem avtorju, ime, email, spol
amacar ::
Verjetno ker imaš polje authors veliko 5 elementov. Izpisati jih moreš le toliko kot jih je resnično v polju, torej do numAuthors
uro1001 ::
Sedaj napaka ni več, vendar mi vrne null.
Sedaj sem v konstruktorju dodal vrednosti in deluje, čerpav nevem če je pravilno, glede na graf na sliki.
Sedaj sem v konstruktorju dodal vrednosti in deluje, čerpav nevem če je pravilno, glede na graf na sliki.
Zgodovina sprememb…
- spremenil: uro1001 ()
amacar ::
Sodeč po sliki avtor res nima nobene metode, potem pač pač dostopaš direkt do spremenljivk, pa izpisuješ
authors[i].name + authors[i].gender...
<b>klima</b> ::
public class Author {
private String name;
private String email;
private char gender;
@Override
public String toString() {
return "Name: " + emptyIfNull(name) +
"Email: " + emptyIfNull(email) +
"Gender: " + Character.toString(gender);
}
private String emptyIfNull(String str) {
return str == null ? "" : str;
}
}
public class Book {
private Author[] authors = new Author[5];
private int numAuthors = 0;
public void addAuthor(Author author) {
authors[numAuthors] = author;
numAuthors++;
}
@Override
public String toString() {
String str = "";
for(int i=0; i<numAuthors; i++) {
str += authors[i].toString() + " ";
}
return str;
}
}
Je bilo takole mišljeno? Upam da skompajla, sem namreč direkt iz beležnice skopiral :)
uro1001 ::
Razred Author mora biti prazen, brez metod. Potem pa so v razredu Book metode addAuthor, printAuthor in getAuthor.
uro1001 ::
Tvoja koda dela sem probal. Vendar mi vrne null, brez podatkov, ker nimam konstruktorja v razredu Author.
AnriK ::
Potem kako pa zgleda tvoj glavni program? Če imaš same default konstruktor za avtorja potem more zgledat nekako takole:
V debato da tu kršimo precej principov objektnega programiranja se ne bom spuščal.
...
Book b = new Book("Knjiga", 10.0);
Author a = new Author();
a.name = "Ime";
a.email = "a@g.c";
a.gender = 'm';
b.addAuthor(a);
...
V debato da tu kršimo precej principov objektnega programiranja se ne bom spuščal.
Zgodovina sprememb…
- spremenil: AnriK ()
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | problemi z javoOddelek: Programiranje | 1254 (859) | MrStein |
| » | [Android] Nov tip shranjevanja slikeOddelek: Programiranje | 2372 (1496) | urosz |
| » | [Java] Objekt poslan k metodi v kakšnem stanju?Oddelek: Programiranje | 1694 (1141) | shadeX |
| » | Java ObjektiOddelek: Programiranje | 2410 (2104) | Mavrik |
| » | Java - sortiranje 2D tabeleOddelek: Programiranje | 1853 (1802) | SkIDiver |
