Semestrální práce - vlákna, kolekce – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Semestrální práce - vlákna, kolekce – Java – Fórum – Programujte.comSemestrální práce - vlákna, kolekce – Java – Fórum – Programujte.com

 

joe0
Newbie
7. 5. 2008   #1
-
0
-

Ahoj,

Jako semestrální práci v Javě jsem si vybral práci s db (+ gui, ...). Naučil jsem se jak postupovat, jak dávat dotazy do db apod. Problém je v tom, že v té práci mám použít (je to nutné) vlákna a kolekce a netuším, kde bych to měl použít.

Práci s db mám tak, že dotazem na db dostanu výsledky do RecordSetu, který pak projedu cyklem a zobrazím v tabulce, nevím proč bych jako „mezikrok“ měl použít třeba kolekce.

A už vůbec nevím jak a kde v aplikaci použít vlákna, protože přece pošlu dotaz a zobrazím výsledky. Nevím jaké dva procesy by měly běžet „současně“.

Díky za rady :-)

Nahlásit jako SPAM
IP: 82.100.5.–
MaSo0
Newbie
7. 5. 2008   #2
-
0
-

Pokud tam máš GUI a spouštíš ho přes invokeLater(), tak už tam máš vlastně použitá i vlákna... :smile1: Jinak asi nejjednodušší použítí vlákna je pro aktualizování nějakého progressbaru... :smile1:

Pro databázi můžeš použít třeba JDO (www.jpox.org), které v podstatě nahlíží na výsledky dotazů do DB jako na kolekce, ale chápu, že se ti to už asi nebude chtít předělávat...

Nahlásit jako SPAM
IP: 84.38.191.–
Real programmers use: copy con program.exe...
joe0
Newbie
7. 5. 2008   #3
-
0
-

invokeLater() nikde nemám, ani nevím co to je :)
A jak udelat prubech nacitani do tabulky pomoci progressbaru, tak to už je na mě moc... ale zkusím se po tom podívat.

Připojuju se na soubor*.mdb vytvořený v Accessu přes JDBC. Můžu se přes JDBC připojit i na nějakou MySQL databázi třeba na freehostingu? Asi by mi to ulehčilo práci, protože nevím jak na Sunech se to nastavuje jako jsem to nastavoval ve Windows (ovl. panely - ODBC)...

Jinak díky ;-)

Nahlásit jako SPAM
IP: 82.100.5.–
Nosko0
Stálý člen
7. 5. 2008   #4
-
0
-

Zmysluplné využitie vlakien v tvojom programe mi teda nenapadá, ale keď ho tam musíš mať, čo treba napríklad zobrazovanie času?? Ten čas si kludne vypisuj do nejakeho boxu, labelu.... :smile1:



class Casomerac extends Thread{
int hodin;
int minut;
int sekund;

public Casomerac(){
hodin=0;
minut=0;
sekund=0;
}

public void run(){
while(!isInterrupted()){
sekund++;
if(sekund==60){
sekund=0;
minut++;
}
if(minut==60){
minut=0;
hodin++;
}
System.out.println("Som spusteny "+hodin+":"+minut+":"+sekund);
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

class Main {
public static void main(String args[]){
new Casomerac().start();
}
}

Nahlásit jako SPAM
IP: 84.16.37.–
byF0
Návštěvník
12. 5. 2008   #5
-
0
-

No jo, na FELu se zas blíží termín odevzdání... :)

Nahlásit jako SPAM
IP: 90.176.137.–
joe0
Newbie
12. 5. 2008   #6
-
0
-

byF:

No jo blizi :-) uz bych to odevzdal dneska, kdyby fungovalo pripojeni k db. Ale uz vim jak na to. To se tady v tuhle dobu vzdycky objevuje plno dotazu, co? :-D

Nahlásit jako SPAM
IP: 82.100.5.–
byF0
Návštěvník
19. 5. 2008   #7
-
0
-

To joe : Já vás tady vždycky poznám. Už tady spousta lidí posílala žádosti o vyřešení domácích úkol na cvik. Já mám dva FELáky doma, tak to můžeme řešit interně. Ale co jsem tak koukal, tak ani jeden ještě nezačal.

Nahlásit jako SPAM
IP: 85.207.69.–
D-Fox0
Stálý člen
19. 5. 2008   #8
-
0
-

To byF : Přesně můj případ.. taky mam z javy zatim prdlajz.. jinak pozrdavuju všechny felaky tady na foru :)

Nahlásit jako SPAM
IP: 89.176.62.–
zip1230
Duch
20. 5. 2008   #9
-
0
-

Zdravim, mam tu taky jeden problem, potrebuju udelat high score, nejlepe s pomoci kolekce, ale:
mapa: sice ulozi ke jmenu cislo,ale stejne jmeno nelze a nemuzu to seradit podle hodnoty,ale jen podle klice
set: nemouzu priadit hodnotu ke jmenu,to same list.
Udelat si dve pole string a int, to je taky napad,ale kdyz jedno seradim, jak ho potom dat zpet k urcitemu jmenu.
Jeste byl napad ulozit do mapy, a z te mapy pak vytahnout jen hodnoty,seradit v poli, a pak se zpetne ptat do mapy ktere jmeno obsahuje tu kterou hodnotu z pole, a vysledek postupne ukladat nekam(treba jako kompletni string do listu atd),
ale co kdyz bude jedne hodnote,treba skore 400 odpovidat vic jmen? tak se to asi zhrouti ne? Fakt sem zkusil uz dost veci a stve me, ze takova prkotina nejde udelat nejak jednoduse.To cela hra (snake mimochodem) mi prisla jednodussi nez toto...Jestli mate nekdo nejaky napad nebo zkusenost, pls poradte, s javou teprv zacinam, tak nemam takovy rozhled jako vy :-) diky

Nahlásit jako SPAM
IP: 213.192.20.–
Nightsorrow0
Newbie
21. 5. 2008   #10
-
0
-

Tak prečo si nevytvoriť nový objekt, ktorý by si pamätal počet bodov a meno hráča, ktorý to nahral. Potom by si to uložil napríklad do mapy, kde by bol kľúč poradie a vytvoril mechanizmus, ktorý by to usporadúval.
Alebo taktiež môžeš v tom objektu implementovať triedu Comparable a dorobiť metódu compareTo(Object o). A potom, keď už máš implementované Comparable, tak to môžeš uložiť napríklad do SortedSet a budeš to mať automaticky usporiadané(ak implementuješ compareTo správne).
Samozrejme musíš v compareTo zachytiť aj kto to kedy nahral, lebo niekedy robí problémy, keď sú rovnaké hodnoty. Teraz sa mi nechce spomínať, ani zisťovať, či keď hádže identitu compareTo(), alebo equals(). Ale nemal by to byť problém.

Nahlásit jako SPAM
IP: 147.251.198.–
zip1230
Duch
21. 5. 2008   #11
-
0
-

To Nightsorrow : libi se mi napad s vytvorenim noveho objektu, ale uz ted vidim nejvetsi problem v tom setrideni: do mapy to muzu hodit, a tree mapa treba rovna podle klice ne? ale da se do tree mapy dat jako klic integer??? jo a jeste dalsi dotaz, kdyz to budu potrebovat jeste ukladat a nacitat ze souboru, nejlepsi by bylo, aby objekt implementoval serializble, ale nas prednasejici rekl, ze pokud to ulozim, a pak znovu zbuildime program, uz to neprecteme...Za zbyldeni se pocita i kazdy dalsi start programu???

Nahlásit jako SPAM
IP: 213.192.20.–
Jura
~ Anonymní uživatel
637 příspěvků
21. 5. 2008   #12
-
0
-

zip123 napsal:
To Nightsorrow : libi se mi napad s vytvorenim noveho objektu, ale uz ted vidim nejvetsi problem v tom setrideni: do mapy to muzu hodit, a tree mapa treba rovna podle klice ne? ale da se do tree mapy dat jako klic integer???



Místo primitivního datového typu použij wrapper Integer. jde o to, že klíč musí implementovat rozhrani Comparable, aby kolekce věděla, jak má dané klíče porovnávat.

[url]
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html
[/url]



jo a jeste dalsi dotaz, kdyz to budu potrebovat jeste ukladat a nacitat ze souboru, nejlepsi by bylo, aby objekt implementoval serializble, ale nas prednasejici rekl, ze pokud to ulozim, a pak znovu zbuildime program, uz to neprecteme...Za zbyldeni se pocita i kazdy dalsi start programu???



No, nejspíše měl na mysli promblém s serialVersionUID. Ale pokud neplánuješ dělat změny v kódu, které by znemožnili pozdější načítání, tak bych v tom problém neviděl.
[url]
http://www.javapractices.com/topic/TopicAction.do?Id=45
[/url]
[url]
http://java.sun.com/developer/technicalArticles/Programming/serialization/
[/url]

Nahlásit jako SPAM
IP: 85.207.192.–
zip1230
Duch
26. 5. 2008   #13
-
0
-

To Jura : a jak presne se pise to wrapper integer do te mapy? ja kdyz to tam napisu, tak to nebere:
static Map<wrapper Integer, String> mapa = new TreeMap<wrapper Integer, String>();

Nahlásit jako SPAM
IP: 213.192.20.–
Nosko0
Stálý člen
26. 5. 2008   #14
-
0
-
Nahlásit jako SPAM
IP: 84.16.37.–
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, 18 hostů

Podobná vlákna

Semestrální práce — založil Diabolos

Semestralni prace — založil Dddf

Semestrální práce — založil Jirka

Semestrální práce — založil Zap

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ý