Referenzdatentypen – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Referenzdatentypen – Java – Fórum – Programujte.comReferenzdatentypen – Java – Fórum – Programujte.com

 

Dagi0
Newbie
11. 7. 2008   #1
-
0
-

Ahoj,

mam nasledujici kod, ale nemuzu rozlustit, co ten program presne dela. Ma nekdo nejaky napad? Dekuji.

1. Trida:

public class Oingo {
String label = "";
Oingo[] oingos;
public Oingo() {
}
public Oingo(String l, int size) {
label = l;
oingos = new Oingo[size];
}
public void add(Oingo x) {
for (int i = 0; i < oingos.length; i++) {
if (oingos[i] == null) {
oingos[i] = x;
break;
}
}
}
public String toString() {
return new String();
}
}

2. Trida:

public class Magix {
public static void main(String[] args) {
Oingo wurz = new Oingo("Bärwurz", 2);
Oingo flocke = new Oingo("Flocke", 3);
Oingo balu = new Oingo("Balu", 2);
Oingo herbi = new Oingo("Herbert", 1);
Oingo isa = new Oingo("Isabella", 2);
Oingo alex = new Oingo("Alexander", 5);
Oingo oli = new Oingo("Oliver", 1);
Oingo chris = new Oingo("Christoph", 3);
wurz.add(flocke);
wurz.add(balu);
balu.add(herbi);
balu.add(isa);
flocke.add(alex);
flocke.add(oli);
isa.add(chris);
velkepismo(wurz);
}




Nahlásit jako SPAM
IP: 90.135.188.–
darthdeus0
Stálý člen
11. 7. 2008   #2
-
0
-

No v první řadě bych si troufnul říct, že jsou ty třídy nedodělaný, už jenom kvůli



public String toString() {
return new String();
}

což je tam vlastně zbytečně :) stejně jako první konstuktor který taky nic nedělá.

Jinak se to tváří jako datová struktura a při troše představivosti bych řekl že je to Strom http://cs.wikipedia.org/wiki/Strom_(datov%C3%A1_struktura)

jinak tam asi něco ještě chybí protože
velkepismo(wurz); 
není definováno ..

Nahlásit jako SPAM
IP: 85.70.184.–
(1..100).inject(&:+) komu se to nelíbí, ať mi klobouk políbí :P
Dagi0
Newbie
11. 7. 2008   #3
-
0
-

To darthdeus : To je pravda, ze nektere veci jsou bez parametru (proc je to takove zadani, to jeste nevim).
S tou metodou velkepistmo(wurz) se bude pracovat; ukolem je prave to tuto metodu rozsirit program, tak aby vsechny jmena s datovou strukturou "wurz" se premenila do velkych pismen (muze se pouzit metoda .toUpperCase()). Napr. Balu na BALU.

Nejdrive si musim neco o datove strukture procist, abych alespon neco o tom vedela...

Nahlásit jako SPAM
IP: 90.135.188.–
darthdeus0
Stálý člen
11. 7. 2008   #4
-
0
-

To Dagi : Tak jsem to vyřešil docela jednoduchou rekurzí



public class Oingo {

private String label = "";
private Oingo[] oingos = null;

public Oingo(String l, int size) {
label = l;
oingos = new Oingo[size];
}

public void add(Oingo x) {
for (int i = 0; i < oingos.length; i++) {
if (oingos[i] == null) {
oingos[i] = x;
break;
}
}
}

public void velkePismo() {
label = label.toUpperCase();
for (int i = 0; i < oingos.length; i++) {
if (oingos[i] != null) {
oingos[i].velkePismo();
}
}
}

public void printAll() {
this.print();
for (int i = 0; i < oingos.length; i++) {
if (oingos[i] != null) {
oingos[i].printAll();
}
}
}

public void print() {
System.out.println(label);
}

@Override
public String toString() {
return label;
}

public static void main(String[] args) {
Oingo wurz = new Oingo("Bärwurz", 2);
Oingo flocke = new Oingo("Flocke", 3);
Oingo balu = new Oingo("Balu", 2);
Oingo herbi = new Oingo("Herbert", 1);
Oingo isa = new Oingo("Isabella", 2);
Oingo alex = new Oingo("Alexander", 5);
Oingo oli = new Oingo("Oliver", 1);
Oingo chris = new Oingo("Christoph", 3);
wurz.add(flocke);
wurz.add(balu);
balu.add(herbi);
balu.add(isa);
flocke.add(alex);
flocke.add(oli);
isa.add(chris);

wurz.velkePismo();
wurz.printAll();
}
}

Nahlásit jako SPAM
IP: 85.70.184.–
(1..100).inject(&:+) komu se to nelíbí, ať mi klobouk políbí :P
Dagi0
Newbie
12. 7. 2008   #5
-
0
-

To darthdeus : dekuji za reseni, uz je to na me nejak moc komplikovane.

Nahlásit jako SPAM
IP: 90.135.216.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý