Új hozzászólás Aktív témák
-
sekli
addikt
válasz loszerafin #892 üzenetére
loni meg nekem se sikerult... a lenyeget szerintem lattad egyebkent, marmint ami a grafikat illeti..., igazabol nem akartam nagyon belemenni, csak nekem azt tunt fol, hogy ha VisualBasic-ben irnek egy hasonlot (ahogy irtam is) es sokkal kevesebb eroforrast hasznal, a programozoja azt mondta, hogy a ''grafika'' itt az eroforrashasznalat, processzorido 90%-a..., a szimulacio, azert nem annyira komplex... a kerdesem igazabol arra iranyult, hogy a java ennyire lassu-e a megjelenitesben...? most kezdte el fejleszteni a fejleszto a 3D-s verziot, (az en modellem alapjan) es azt igeri, hogy a GPU rendereles miatt jobban fog futni..., ez egyebkent hiheto is... koszi, hogy foglalkoztal vele..., ahogy nezem mondjuk nem lettel fuggo...
-
loszerafin
senior tag
Khm. Bocs, hülyeséget írtam. De legalább most, hogy rákérdeztél, magam is rájöttem.
Tehát javítom magam:
Nem tűnik el se a forrásfájlból (hiszen ez az értelme),
se a lefordított kódból (sajnos), hiszen a java futtatót kell paraméterezni az assertion-ök ki/bekapcsolásához.
Viszont nagyon kényelmesen kezelhető (parancssorból ki/bekapcsolható), osztályokra és csomagkönyvtárakra külön-külön, és nem lassítja a kódot, ha nincs bekapcsolva. -
robisz
senior tag
válasz loszerafin #902 üzenetére
Ugyanezt el tudod érni a Logger-ból is, hiszen vannak loglevelek amiket be tudsz állítani
Pl. a kódba azt írod hogy:
log.debug(message);
Így a loglevel-t debug-ra állítva megjelenik az üzenet, de pl. info-ra állítva nem.
Az assert szintén debug-olásra használható, de nem logolásra!!
Arra találták ki, hogy olyan logikai állításokat helyez el a kódban, amelynek
az adott ponton teljesülnie kell. Ha mégsem akkor az kivált egy exception-t.
Amire Te használod, az ugyan működik, de nem szép mert nem erre találták ki. -
Forest_roby
őstag
válasz loszerafin #898 üzenetére
Tudom, hogy én írtam későn! Nem hibáztattam senkit, maximum magamat.
Mindenesetre köszi ezeket a linkeket!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
loszerafin
senior tag
for ciklus
Nem fér a fejembe a for ciklus indító részének első tagja, a deklarációs rész:
for(int i=0; i<10; i++){
}
Félkövérrel szedtem a kérdéses részt. Itt ugye lehet több lokális változót deklarálni és inicializálni, ami csak a cikluson belül lesz elérhető, így:
for(int i=0, j=0, k=0; i<10; i++){ ...
Nem csak int lehet ott, hanem bármi, amin végig lehet lépkedni:
for(byte i=0, j=0, k=0; i<10; i++){ ...
Ami nekem furcsa, hogy keverni nem lehet a típusokat, azaz ez már nem megy:
for(int i=0, byte j=0, short k=0; i<10; i++){...
De még csak ez se fordul le:
for(int i=0, int j=0, int k=0; i<10; i++){...
Nem értem, miért ez a megszorítás? Miért jó,hogy csak ugyanolyan típusú változókat deklarálhatok és inicializálhatok? (Ráadásul a doksikban se igen találtam erre utalást:
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14.1)
Előre is köszönöm
KL -
robisz
senior tag
válasz loszerafin #906 üzenetére
A for ciklus általános szintaxisa:
for (kifejezés1; kifejezés2; kifejezés3) {
...
}
Tehát három tetszőleges kifejezést kell megadni (lehet üres kifejezés is).
Viszont a Java-ban nem tudsz egy kifejezéssel különböző típusú referenciákat
létrehozni, tehát az alábbi deklaráció nem csak a for ciklusban, hanem mindenhol hibás:
int i = 0, byte j = 0;
Pontosvesszővel elválasztva már jó de így már két kifejezésnek számít:
int i = 0; byte j=0;
Azonos típusú változóból viszont többet is létrehozhatsz egy deklarációval:
int i = 0, j=0;
Ezt tehát nyugodtan beírhatod a kifejezés1 helyére. -
loszerafin
senior tag
Most, hogy másodszor/harmadszor olvasom el a Java könyvemet, ''újabb'' érdekességekre bukkanok...
StringBuilder equals metódus
Úgy látom, nincs felülírva a StringBuilder osztályban az equals.
Akkor így szoktak két StringBuilder-t összehasonlítan?:
StringBuilder s1 = new StringBuilder(''Hello'');
StringBuilder s2 = new StringBuilder(''Hello'');
System.out.println(s1.toString().equals(s2.toString()));
És tudja valaki, miért nincs az equals felülírva a StringBuilder osztályban?
Előre is köszönöm
KL -
shev7
veterán
válasz loszerafin #909 üzenetére
hat mondjuk erre kezenfekvo valasz az, hogy egyreszt nem egyertelmu mikor egyezik meg ket StringBuilder objektum (marmint tobbfele megkozelites is elkepzelheto), illetve, hogy nagyon ritkan hasonlitasz ossze ket stringbuilder objektumot, ami sokkal inkabb elkepzelheto az az, hogy egy Stringhez hasonlitod.
De barmikor kiterjesztheted a StringBuildert, es akkor ugy mukodik az equals, ahogyan csak szeretned''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
loszerafin
senior tag
Köszönöm a választ.
...ami sokkal inkabb elkepzelheto az az, hogy egy Stringhez hasonlitod
Igen, ez megy:
StringBuilder s1 = new StringBuilder(''Hello'');
String s = new String(''Hello'');
System.out.println(s.equals(s1.toString()));
Bár itt is Stringgé kell alakítani, kissé ügyetlennek tartom ezt.
Vagy akkor ez lehet a gyakori:
System.out.println(''Hello''.equals(s1.toString())); -
loszerafin
senior tag
Csak nyavajgás következik...
Ahogy egyre jobban elmerülök a Java-ban, egyre nehezebbnek tartom.
Ez az auto boxing/widening témakör kemény dió.
A témakörök:
1. értékadások
2. overload-olt metódusok hívása (mikor, melyik hívódik)
3. == vizsgálat
4. switch - case
5. és még ki tudja, hány témakör van
Pl. a switch-nél most olvastam:
class Proba {
final static int i = 2;
final static Integer I = 3;
public static void main(String[] args){
int x = 2;
switch (x){
case i : System.out.println(x);
case I : System.out.println(x);
}
}
}
Hogy semmilyen wrapper osztály nem lehet a case-ben, akkor se, ha final. Pedig ugye a wrapperek immutable-ek, úgyhogy nem tudnám megváltoztatni az értékét a referencia változtatása nélkül. -
Fisha
őstag
válasz loszerafin #912 üzenetére
Megmondom oszinten nekem a switch-case eleve egy nyelvidegen dolog. Mar leirva is rosszul nez ki.
-
loszerafin
senior tag
ezeket nagy if (vagy case) elagazasokat kicsit gondosabb tervezessel ki lehet kuszobolni.
Bizony így van. Szerintem 6-8 case -nél többet inkább adatszerkezettel (tömb, hash) érdemes megcsinálni. Karbantartani is könnyebb, meg a kód is rövidebb.
Egyébként visszatérve a Java-hoz, szerintem ez a fajta case ügyetlen.
A falra tudnék mászni a fall-through tulajdonságától meg mert nem lehet ilyeneket írni:
case 1..10
vagy
case 1,2,3
vagy case (i>10)
stb.
Persze, valószínűleg épp ezért (1,2,3 és 1..10 hiánya miatt) kell a fall-through tulajdonság, mert így ilyeneket lehet írni:
case 1:
case 2:
case 3: System.out.println(''1..3''); break;
De ez azért eléggé ronda egy kódban. Szerintem.
KL -
shev7
veterán
válasz loszerafin #917 üzenetére
ha jol tudom a switch case szerkezet egy goto-nak fele meg. Ezert van az, hogy nem lehet felsorolni a case utan tobb erteket, mivel akkor nem stimmelne a label. Es ezert van az, hogy kell a break, mert goto utan a kovetkezo sorban folytatod. Persze biztos meg lehetett volna oldani maskepp, de az nagy valoszinuseggel lassabb lett volna.
mod: Ha megnezzuk a C# fele switch megvalositast, akkor az annyibol kezdo-baratabb, hogy muszaj kitenni a break-et, ezert nem is nezheted be a fall-through-t
[Szerkesztve]''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Fisha
őstag
válasz loszerafin #917 üzenetére
Hat igen, en pont ezek miatt a dolgok miatt, vettem ki a szotarambol.
-
BlackFoxL
csendes tag
Szevasztok!Ha esetleg erdekelne vkit eladnam ezt a ket konyvet:
Objektumorientalt tervezes es programozas JAVA 1. es 2. kotet!
1.kotet: Bevezets a programozasba + objektumorientalt paradigma + JAVA kornyezet + JAVA programozasi alapok + osztalyok hasznalata es keszitese + Kontenerek
http://www.laptop.hu/index.php?main=main&page=rovat&rovatid=108&action=
show&cikkid=294&mode=szakkonyv
2.kotet: objektumorientalt technikak + grafikus felhasznaloi interfesz + Allomanykezeles + Vegyes technologiak + Adatszerkezetek es kollekciok
http://www.laptop.hu/index.php?main=main&page=rovat&rovatid=108&action=
show&cikkid=295&mode=szakkonyv
[Szerkesztve]//CrimsonX
-
almi
senior tag
Sziasztok!
Valakinek nincs véletlen megírva Java-ban egy egyszerű stratégiai játék?Ilyesmi a feladat : Tetszőleges méretű tábla, és vannak rajta nyilasok (leghátul) dárdások és lovasok tetszőleges számban.Ezek szépen mehetnek minden irányba amerre irányítjuk, és támadhatják egymást.
Ha valakinek netán van hasonló, akkor legyen szives segítsen
Köszi
Üdv. -
almi
senior tag
válasz loszerafin #922 üzenetére
Köszönöm szépen, hátha segít valamit..
-
jeri
tag
válasz loszerafin #844 üzenetére
C és társai érték szerint
meg létezik:címszerint,eredmény-érték szerint,visszatérési érték szerint. -
Sianis
addikt
Nagy láma kérdés:
Ha szedtem le jar fájlokat a netről, akkor azokat hova kell bemásolnom, hogy a fejlesztőkörnyezet is megtalálja azokat?
Köszi a válasz
Sianis -
Sianis
addikt
Még egy kérdés:
Létezik, hogy SE-ben nincs benne a javax.mail csomag?
[link]
Sianis -
-=V3rthil=-
őstag
Hello!
Egy elég láma kérdésem lenne. Azt szeretném megtudni, hogy hogy kell egy backing beanben eltárolni egy paramétert úgy, hogy később is lássam. A konkrét probléma: van egy login.jsp és hozzá egy login.java. A login oldalon beírod a felhasználónevet / jelszót, ami innen átdob egy nyitóoldalra, mondjuk welcome.jsp. A welcome oldal backing beanjében request paraméterként megkapom mondjuk az aktuális user objektumot, ami egy entity. Innen linkekkel átmegyek másik oldalra, majd visszatérek. Mivel csak request paraméter volt a user, a visszatéréskor már nincs meg. Azt szeretném, hogy megmaradjon. A rendszerbe nyilván egyszerre többen is beléphetnek, tehát mindenkinek a saját user-ét kéne eltárolni. Hú, ez gondolom most nagyon nem összeszedett, amit kérdeztem. Bocsánat, annyira nem vagyok otthon j2ee-ben... De nagyon megköszönném, ha tudnátok segíteni vagy mondjuk linket adni, hogy hol van ez leírva rendesen.
Előre is kösz!hey-ho-let's-go
-
shev7
veterán
válasz -=V3rthil=- #929 üzenetére
request helyett sessionbe rakd, akkor megmarad.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Zulfaim
csendes tag
Honnan érdemes elkezdeni Java-t tanulni?
Valaki tud esetleg valami jó könyvet? -
Zulfaim
csendes tag
Mi jövő félévben fogjuk tanulni(BME), nem akarok 0-ról kezdeni.
-
Boolash
aktív tag
Sziasztok!
Pacman játékot szeretnék írni (java), és el is kezdtem meg minden, felrajzoltam a pályát, ütközött a falakkal a játékos... de eléggé csúnya volt a kód és pl azt már nem tudtam beletenni, hogy az ellenféllel ütközzön
Elkezdtem előről az egészet szépen model-view-controllerben megírni, de egy kicsit puskáztam is. De sajna még nincs kész és nekem még ma este kellene nagyon!!! Itt vannak a források : [link]
A pálya, a játékos megvan (de valamiért nem fordul). Ami nagyon (mindenképp kellene) az az ellenfél (aki valahogy felém mozog), akihez ha hozzáérek akkor game over. Sajnos nagyon szorít az idő, és én ezt nem tudnám holnapra megcsinálni, ezért is kérem a segítségeteket!
Köszi előre is -
Spyx
tag
Hi allz!
Régóta programozom java-ban. Elsősorban kötelezőprogramokat.
Most viszont egy ablakos rendszert kellene készítenem. Milyen konténert ajánlanátok amiben tudok rajzolni könnyen vonalakat és pontokat, AWT-t vagy Swing-et használjak és abból is mi az ajánlott a rajzoláshoz.
Előre is köszi.Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
robisz
senior tag
Helló!
Érdemes Swinget használni mert az AWT-nek meglehetősen korlátozottak a lehetőségei,
viszont maga a Swing is az AWT-re épül így nem árt mindkettőt megtanulni
Amit Te szeretnél azt a következőképpen lehet megcsinálni:
-Létrehozol egy saját komponenst a JComponent-ből való származtatással.
-Felüldefiniálod a paintComponent(Graphics g) metódust. Ebben a metódusban
kell lekódolni a rajzolást.
-Rajzolni a Graphics2D objektum megfelelő metódusaival tudsz (pl drawLine).
Érdemes elolvasni a Java tutorial ide vonatkozó fejezeteit: [link] [link] -
Spyx
tag
Hali
Hát igazából már megoldottam egy kicsit butábban. Eclipse-hez installált Visual Editorral létrehoztam egy Application-t amibe egy Jframe majd ebbe egy Jpanel van ültetve. Ezt mint legenerálta nekem.
Aztán elkérem a jPanel Graphics-át és azzal ki tudom rajzolni azt a pár négyzetet meg vonalat amire szükségem van.
Amúgy kössz a segítséget. Ahogy elnézem kb arra jöttem rá ami a második tutorialban van
Üdv.Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Sianis
addikt
Sziasztok!
Csináltam egy osztályt, aminek a következő adattagjai vannak:
private String HostName;
private int Port;
private String UserName;
private char[] Password;
Ezeket kimentem egy fájlba. Hogyan fogok tudni őket visszaolvasni? Azt szeretném, hogy eredményként egy tömb jöjjön létre, amiben ezek az adattagok lesznek beolvasva. Köszi a segítséget!
Sianis -
shev7
veterán
Ha az osztaly implementalja a Serializable interfeszt, akkor ObjectOutputStream-mel konnyen ki tudod irni fileba, illetve ObjectInputStream-mel ugyanilyen egyszeruen visszaolvasod.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
shev7
veterán
''- Ne írja felül a fájlban lévő adatokat.''
Ez legjobb tudomasom szerint nem fog menni. Mikor beirod fileba akkor elotte egyebb infok is bekerulnek, nem csak a konkret tartalma a valtozoknak. Ha appendelsz a filehoz azt nem fogja szeretni. Nagy valoszinuseggel csak az elso iras adatait tudod behozni.
Ket megoldas:
- mindig a teljes tombot irod ki/olvasod be
- sajat iro/olvaso modszert talalsz ki.''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
loszerafin
senior tag
A Serialization-nal baj van akkor is, ha változtatod a class-t, aminek objektumát kiírod, ugyanis van saját verziókezelése.
Azaz kiírod az objektumot, változtatod a class-t és már nem fogja beolvasni.
(Valójában be lehet, de trükközni kell)
Ha tömböt akarsz kiírni, akkor olyan osztály-t hozz létre, aminek a tömb az egyik field-je.
Ha több állapotot akarsz kiírni akkor használj különböző fájlneveket, pl. kiírás időpontja legyen a fájl neve.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- VR topik (Oculus Rift, stb.)
- Kamionok, fuvarozás, logisztika topik
- Exkluzív funkcióval tenné vonzóbbá az ARM-os PC-ket a Microsoft
- Milyen okosórát gyermekeknek?
- Alkoholista nevelde
- Windows 10
- Azonnali VGA-s kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gaming notebook topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- XBOX ONE/PS4/PS5/XBOX SERIES/NINTENDO SWITCH konzolt vásárolnék!
- XBOX SERIES/PS4/PS5/XBOX ONE/NINTENDO SWITCH konzolt vásárolnék!
- PS5/PS4/XBOX ONE/XBOX SERIES/NINTENDO SWITCH konzolt vásárolnék!
- Új Dobozos Lenovo Ideapad Flex 5 x360 Érintős Ultrabook Óriás Tab 16" -40% Ryzen 5 5500U 16/512 QHD
- PS4/PS5/XBOX ONE/XBOX SERIES/NINTENDO SWITCH konzolt vásárolnék!