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

Datova struktura a jej spracovanie – Java – Fórum – Programujte.comDatova struktura a jej spracovanie – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
JodiBB0
Duch
4. 2. 2013   #1
-
0
-

Zdravim,

Zacinam s javou a narazil som na problem, s ktorym nejak neviem moc pohnut. Javu som nemal rad uz na skole, ale povedal som si ze jej dam druhu sancu :)

V praci pracujem v jazyku LUA a dost casto pouzivam tabulky, kde si ukladam vsetky potrebne data, ktore potom spracovavam. Otazkou je, ako to elegantne vyriesit v jave? Ako som zistil, podobnou tabulkou to asi nepojde.

Vedel by mi niekto preklopit moj prilozeny priklad z LUA do java?

Zadanie je mat niekolko ludi, kde kazdy clovek ma niekolko "parametrov" ulozenych v tabulke s (string) indexom. Ulohou je ich podla tabulky nastavit a spustit funkciu ktorej nazov maju tiez ulozeny v tabulke.

Dik.

t_humans:table = {
	["human01"] = {name = "John", health = 120, func = "GetInside"},
	["human02"] = {name = "Leo", health = 120, func = "StartFight"},
	["human03"] = {name = "Marco", health = 120, func = "Run"},
	["human04"] = {name = "Josh", health = 120, func = "GetOut"},
}
function Start(this)
    for index,value in ipairs(t_humans) do
	local human = GetHuman(index) -- vytvor lokalnu premennu
	human:SetName(value.name) -- nastav vek
	human:SetHealth(value.health) -- nastav zivot
	this[value.func](this) -- spusti funkciu
    end
end

function GetInside(this)
	...
end
function StartFight(this)
	...
end

...
Nahlásit jako SPAM
IP: 213.200.107.–
Řešení
crazy
~ Moderátor
+10
Grafoman
4. 2. 2013   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 JodiBB
můžeš použít Hashtable...

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
Flowy0
Věrný člen
4. 2. 2013   #3
-
0
-

tie tabulky si mozes otocit a nemusis ich davat do jednej

String [] name = { "John", "Leo" ... };

Int [] health = { 120, 120, 120, 120 };

v jave som uz pozeral aj sposob ako preniest funkciu aby sa vykonala az neskor (tiez som zacinal na lua) ... vola sa to Runnable alebo Callable tak si o tom pozri ... alebo mozno bude stacit ulozit string a vykonat prikaz na zaklade jednoducheho switchu

v podstate sa nic nezmeni len uz nebudes volat jednu tabulku ale nazov tabulky bude nadradeny a namiesto cisla budes volat v kazdej tabulke poziciu (musis kontrolovat ci su tabulky rovnako dlhe ak s nimi pracujes) ... v podstate nemusis robit polia ale aj list set alebo collectible ktore sa ti mozno lepsie hodia

Nahlásit jako SPAM
IP: 91.127.73.–
https://github.com/Flowy
JodiBB0
Duch
4. 2. 2013   #4
-
0
-

Diky za rady,

Nakoniec som to vyriesil pomocou tej Hashtable kde som ako value pouzil Class.

S hashtable som experimentoval aj predtym, ale nedoslo mi to vytvorenie novej class, ktora bude riesit ostatne hodnoty. Nakopol ma az kolega v praci. Uz som z tej lua asi trochu degenerovany.  

Nahlásit jako SPAM
IP: 62.245.100.–
JodiBB0
Duch
4. 2. 2013   #5
-
0
-

#3 Flowy
Riesenie cez index v roznych tabulkach nemam moc rad. Casto sa stane ze sa z niektorej tabulky nieco neodstrani/neprida, a uz su data v prdeli.   

Nahlásit jako SPAM
IP: 62.245.100.–
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, 50 hostů

Podobná vlákna

Tvorba mapy a jej spracovanie — založil Eversmann

Datova struktura - slovnik — založil BigBear

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ý