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);
}
Fórum › Java
Referenzdatentypen
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 ..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...
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();
}
}
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 17 hostů
Moderátoři diskuze