- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Yettel topik
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Huawei Watch Fit 5 Pro - jó forma
- Samsung Galaxy S24 FE - később
- Samsung Galaxy S26 Ultra - fontossági sorrend
- A Motorola Edge is különleges textúrával várható
- Vivo X200 Pro - a kétszázát!
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Ursache
senior tag
igen, téves.
az elemi típusoknál, mint ami az int, ha deklarálod, lefoglalódik a helye. az értéke valami lesz, nem tudjuk, hogy inicializálás nélkül mi az értéke (leginkább a korábbi memória használat után ottmaradt szemét), de egy egész számként értelmezhető szám lesz ott.
ezzel szemben az Int-nél (nagybetűvel), a deklaráció eredménye egy pointer, aminek a kezdeti értéke null, és amikor az Int típusú objektumot példányosítod, akkor lesz benne egy olyan pointer, ami az adott példányra mutat és nem null.
ugyanez igaz a Stringre.
https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.12.5
Definiált default értékük van a primitíveknek javaban.
-
Ursache
senior tag
int listaban ohajtasz nem egesz ertekeket tarolni?
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
Ez nekem meg mindig nem vilagos. Az adatszerkezetbol (amelyen ertelmezve van a "sorrendiseg" [mondd, ahogy akarod]) kellett volna kivadaszni a 16. ELEMET? Vagy mit jelent az, hogy egy objektumnak a 16. parametere?
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
Sokkal nagyobb probléma, hogy egy kód elfér a képernyőn, vagy sem. Ha egy metódust nem látsz át scrollozások nélkül, akkor cumi van. Ez persze nem jelenti azt, hogy vég nélkül minimalizált kódot kellene gyártani, de ne okozzon már gondot egy seniornak (elvileg a debug/javítás nem junior feladat) egy ilyen sor.
Ezerszer futottam már bele olyan kódba, ahol a fene sem tudta kibogarászni, hogy mi a rák járt a kolléga fejében, amikor 10 soron keresztül agyament logikával oldotta meg azt, ami 1 sorban elfért volna. Szerintem sokszor át sem tudják igazán gondolni a problémát kicsiben, amikor ilyen elnyújtott marhaságokat lekódolnak. Aztán nem mersz hozzányúlni, mert működik valami csoda folytán, de az ügyfél kis módosítást kért.
Nem azt mondom, hogy a fentebb vázolt esetek megállják a helyüket, de:
xMethod(xMethodParameterToyMethodParamaterParser(y.yMethod(...)));
Ezt azért kerülöm, ha lehet.
-
Ursache
senior tag
Tedd azt.
1 sor mindig jobb, mint 5. Főleg, ha ilyen boolean marhulásból áll. Az egyik kedvenc "egysorosom":boolean isOk(String param) {
boolean ok;
if ("OK".equals(param)) {
ok = true;
} else {
ok = false;
}
return ok;
}Egyébként, ha még szeretnéd cizellálni, adhatsz valami szép, értelmes nevet annak a logikai kifejezésnek, valahogy így:
...
myObject.setOnePropertyValue(isConstant1Checked());
...
}
private boolean isConstant1Checked() {
return myVariable.equalsIgnoreCase(CONSTANT1) && checked;
}Bár a kontextus ismerete nélkül lehet, hogy nem így kell, vagy nem is lehet, csak arra akartam rávilágítani, hogy a bonyolult logikai kifejezéseket érdemes olvasható formába önteni. Akinek pedig nagyon furdalja az oldalát a kíváncsiság, hogy vajon mit is jelent az isConstant1Checked(), mert számára nem nyilvánvaló, majd belenéz abba az egysoros metódusba, esetleg még ad neki valami kifejezőbb nevet.
Egyébként ez már túlzás is lehet... csináld érzéssel, az a lényeg.
Ahogy szebb, olvashatóbb, nincsenek kőbe vésett szabályok. Akár maradhat úgy is, amilyenre átírtad. Örülök, hogy segíthettem.
---------------------------
#8354 MPeter87:
Ha már kifogytál a könyvekből meg az oktatóvideókból, keress magadnak feladatot és készítsd el. Van-e olyan igényed, problémád, amit lehetne automatizálni, amit egy szoftver megoldana? Akár a hobbiddal kapcsolatban, vagy akár amit el tudnál adni másoknak, mert szükségük lehet rá, vagy csak készíts egy 826-ik jegyzettömb, vagy naptár, esetleg rss olvasó alkalmazást. Csatlakozhatsz akár opensource fejlesztésekhez is, nézelődj pl. a githubon, keress olyan projektet, amiben látsz fantáziát, vagy csak ihletet ad egy saját projekthez. Persze az a legjobb, ha fizetnek is érte, csak akkor nem biztos, hogy olyan terméken dolgozhatsz, amit szeretsz is.Egyébként - ha van már rutinod - az előbb említett clean code tanulmányozása sem ördögtől való gondolat, mert szerintem az Angster könyben lévő példakódokban nem kevés code smell lehet. Már nem emlékszem, csak a hasonló oktatókönyvekkel szerzett tapasztalat mondatja ezt velem. Merem ajánlani Josh Bloch Effective Java könyvét (az angol változatot... hacsak nem szereted az interface-t felületnek hívni, mert akkor a magyar is megteszi), vagy uncle Bob (Robert C. Martin) Clean Code könyvét, videóit. Meg ha már a Martinoknál tartunk (
), Martin Fowler, és Kent Beck is egész jó könyveket írt a refactoringról meg a TDD-ről. De blogokat, cikkeket is találsz elvétve, pl. http://blog.cleancoder.com/, vagy http://martinfowler.com/" 1 sor mindig jobb, mint 5."
en mas kodjanak a debuggolasa kozben nagyon nem szeretnek ilyennel talalkozni.
-
Ursache
senior tag
Sziasztok,
Kérném a segítségeteket egy kb 30 soros program megírásában.
A pontos feladatot nem hozhatom nyilvánosságra, ezért privátban kérném a segítséget.
Ennyi lenen összesen:
- Beimportálni két txt fájlt (pár sor tartalom van benne), soronként kell beolvasni egy dinamikusan bővíthető tömbbe.
- Egy új dinamikusan bővíthető tömb össze kell rakni a fájlok tartalmát. (a fájlokban a tartalom vesszővel vanak elválasztva.)
- Majd ABC sorrendbe rakni.
- Lehetővé kell tenni új felhasználók hozzáadását „0” végjelig
- Utolsó ki kell menteni egy txt-be.
Ennyi.Kérlek, ha tudnátok segíteni, akkor privátban kérlek jelezzétek és elküldöm a feladat pontos leírását.
Nagyon fontos lenne! ELŐRE IS KÖSZÖNÖM!
Szerintem ezek nagyon alap dolgok. Miért pont javat erőlteted, ha nem megy/nem értesz hozzá? Azt sosem értettem, hogy komplett megoldást miért kér bárki is.

-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
Sziasztok !
Tegyük fel, hogy okostelefonra, androidra le van fejlesztve egy alkalmazás, aminél a nyitó képernyőn van egy felhasználó és jelszó mező és egy belépés gomb.
Szerintetek milyen test case-eket lenne szükséges írni, hogy sok hibát ki tudjunk szűrni és megfelelően működjön az oldal?
Én az alábbiakra gondoltam:
- figyelni, hogy ne juttassuk el az adatbázis felé a kérést, ha egyik mező üres.
- jelezni a felhasználónak, ha nincs internet elérhetőség.
- ha lenne regisztráció is, akkor ha a megadott min. karakterszámú jelszót nem adott meg, akkor javítsa.
- ha egyik mezőt nem tölti ki, akkor jelezni ezt a felhasználónak.Nektek milyen ötletetek lenne még?
köszönöm
"- ha lenne regisztráció is, akkor ha a megadott min. karakterszámú jelszót nem adott meg, akkor javítsa."
Ez nem feltétlenül csak abban merülhet ki, hogy hány db karakterből áll. Simán lehet további megszorítást is adni: legyen benne kis- nagybetű, etc.
Figyelni arra is, hogy ne lehessen floodolni, tehát ne tudjon beküldeni 5000 kérést 1mp alatt, vagy ha sikerül is, akkor is a szerver tudja lekezelni.
A jelszó és/vagy a felhasználónév mezőt ne tudja kitölteni 6000 ezer milliárd karakterrel => slow-ddos (slow rate attack), de lehet ez sem kell hozzá, hogy a szeró megdögöljön.
-
Ursache
senior tag
Sziasztok! Az egyetemen ezt a beadandot kell megcsinalnom. Tudna ebben vki segiteni?
Tanultam JAVA-t korabban, de nem vagyok egy programozo zseni, ezert kernem a segitsegeteket.
Koszonom.
Assignment Task 2: Implementation of an Algorithm
Using a suitable programming language, apply DFS (Depth First Search) and BFS (Breadth
First Search) on the below graph and construct the table with Que and Visited nodes on each
iteration. Show the results of your program using suitable examples.
Discuss how these algorithms could be improved in the context of AI.Deliverables:
- You will provide the commented code for the implementation of the DFS and BFS
algorithms.
- Evidence of successful output for the execution of both algorithms.
- A critical analysis on the performance of each algorithmMi vett rá arra, hogy JAVA-ban írt? Abban írd, amiben meg tudod írni.
-
Ursache
senior tag
Sziasztok!
A szárnyaimat próbálgatom JAVA-ban, de elakadtam. Ha valaki tudna segíteni azt megköszönném.
Egy egyszerű játékot próbálok csinálni. Van egy List-em 10 elemmel. Ezek külön mozgathatók egy asztalon. Mouselistener-el vannak megoldva. Egyes elemeket szeretnék egér nélkül mozgatni csak paranccsal. (pl.: ha az első egy bizonyos pozícióban van akkor a másik legyen x helyen) Sehogy se tudom "kijelölni" az adott elemet rákattintás nélkül. Valakinek van jó ötlete? Esetleg kulcsszó amire keressek google-ben?
Adj neki focust. Tabindex.....?
-
Ursache
senior tag
Label[] labels = new Label[4];
-
Ursache
senior tag
Én nem ismerem, a tanárOK mondják, hogy rémes a kerettanterv

Szóval, annyit javult a helyzet, hogy most ha a gazda neve, kor vagy tömeg alapján keresek, akkor tökéletes, viszont ha név alapján, akkor a név tömb első elemét valamiért ignorálja. Az egész beolvasás procedúra tulajdonképpen ugyanaz az összes tömbnél, továbbá ha csak szimplán kiiratom azt a tömbelemet, akkor ott van rendesen, hogy Füsti (vagy akármi, amit beviszek arra az elemre), de a kereséskor nem találja.
Itt a kód(try catch-ben van, de azt most nem keresem meg, hol a vége-eleje, de nincs azzal gond)
Így azt hiszem, egy az egyben be is másolhatváltozók megadásával) futtatható is//változók
int fomenu, kilepes=0;
int bevitel,torles,rendezes,szures,mentes,elvet,kilep;
int bevkeres,torkeres, szurkor,szurtt;
int mod;
//beolvasas
BufferedReader br=new BufferedReader(new FileReader("adatok.txt"));
String sor;
int n=500;
String [] nev =new String [n];
String [] gazdnev =new String [n];
String [] tomeg =new String [n];
String [] kor =new String [n];
int olvastomb=0;
while((sor=br.readLine())!=null){
nev[olvastomb]=(sor.substring(0, sor.indexOf(";")));
sor=sor.substring(sor.indexOf(";")+1);
gazdnev[olvastomb]=(sor.substring(0,sor.indexOf(";")));
sor=sor.substring(sor.indexOf(";")+1);
tomeg[olvastomb]=(sor.substring(0, sor.indexOf(";")));
sor=sor.substring(sor.indexOf(";")+1);
kor[olvastomb]=sor;
olvastomb++;
}
//problémás részlet
try{
int []modvalogatas=new int[n];
int db=-1;
int i=0;
do{
i=0;
System.out.println(BLUE+"MEGLÉVŐ ÁLLAT ADATAINAK MÓDOSÍTÁSA MENÜ"+RESET);
System.out.println("Mi alapján szeretnénk kiválasztani a módosítandó tulajdonságú állatot?");
System.out.println("1-Név alapján");
System.out.println("2-Gazdája neve alapján");
System.out.println("3-Kor alapján");
System.out.println("4-Testtömege alapján");
System.out.println("5-Mégsem");
System.out.println();
bevkeres=extra.Console.readInt("Melyik menüpontot választja? ");
switch(bevkeres){
case 1 : {
String kereses=extra.Console.readLine("Milyen nevet keressünk?");
db=0;
i=0;
while(nev[i++]!=null){
}
for (int g=0;g<i;g++){
if (kereses.equals(nev [g])){
modvalogatas[db]=g;
db++;
}
}
break;
}
case 2 : {//főmenü 1-es menüpont->2-es menüpont
String kereses=extra.Console.readLine("Mi a gazda neve?");
db=0;
i=0;
while(gazdnev[i++]!=null){
}
for (int g=0;g<i;g++){
if (kereses.equals(gazdnev[g])){
modvalogatas[db]=g;
db++;
}
}
break;
}
case 3 : { //főmenü 1-es menüpont->2-es menüpont
String kereses=extra.Console.readLine("Milyen korút keressünk?");
db=0;
i=0;
while(kor[i++]!=null){
}
for (int g=0;g<i;g++){
if (kereses.equals(kor [g])){
modvalogatas[db]=g;
db++;
}
}
break;
}
case 4 : {//főmenü 1-es menüpont->2-es menüpont
String kereses=extra.Console.readLine("Milyen tömegűt keressünk?");
db=0;
i=0;
while(tomeg[i++]!=null){
}
for (int g=0;g<i;g++){
if (kereses.equals(tomeg [g])){
modvalogatas[db]=g;
db++;
}
}
break;
}
case 5: { //főmenü 1-es menüpont->2-es menüpont
break;
}
default: { //főmenü 1-es menüpont->2-es menüpont
System.out.println(RED+"Hibás értéket adott meg."+RESET);
}
}
try{ //főmenü 1-es menüpont->2-es menüpont
if(db!=0){
System.out.println(nev[0]+gazdnev[0]+tomeg[0]+kor[0]);
System.out.println("Az alábbi találat(ok) keletkeztek. ");
for (int j=0;j<db;j++){
System.out.println((modvalogatas[j])+"-"+nev[modvalogatas[j]]+";"+gazdnev[modvalogatas[j]]+";"+kor[modvalogatas[j]]+"év;"+tomeg[modvalogatas[j]]);
}
int modos=extra.Console.readInt("Melyik állatot kívánja módosítani a fentiek közül?");
do{
System.out.println(BLUE+"ÁLLAT ADATÁNAK MÓDOSÍTÁSA MENÜ"+RESET);
System.out.println("1-Név módosítása");
System.out.println("2-Gazda nevének módosítása");
System.out.println("3-Testtömeg módosítása");
System.out.println("4-Kor módosítása");
System.out.println("5-Mégsem");
System.out.println();
mod=extra.Console.readInt("Melyik menüpontot választja?");
switch (mod){
case 1:{ //főmenü 1-es menüpont->2-es menüpont
nev[modos]=extra.Console.readLine("Mi az állat új neve?");
break;
}
case 2:{ //főmenü 1-es menüpont->2-es menüpont
gazdnev[modos]=extra.Console.readLine("Mi az új gazda neve?");
break;
}
case 3:{//főmenü 1-es menüpont->2-es menüpont
tomeg[modos]=String.valueOf(extra.Console.readInt("Mennyi az állat új tömege?"));
break;
}
case 4:{//főmenü 1-es menüpont->2-es menüpont
kor[modos]=String.valueOf(extra.Console.readInt("Mennyi idős az állat?"));
}
case 5:{//főmenü 1-es menüpont->2-es menüpont
break;
}
default: {//főmenü 1-es menüpont->2-es menüpont
System.out.println(RED+"Hibás értéket adott meg."+RESET);
}
}
} while(mod!=5);
}
else {
System.out.println("Nincs ilyen állat.");
}
System.out.println();
}catch(Exception e){
System.out.println(RED+"Hiba történt!: "+e.getMessage()+RESET);
}
}while(bevkeres!=5);
}catch(Exception e){
System.out.println(RED+"Hiba történt!: "+e.getMessage()+RESET);
}
break;Legkozelebb pastebint, vagy hasonlot hasznalj, koszi.
-
Ursache
senior tag
"Java-ban a Stringeket equals-sal hasonlítunk össze, nem ==."
Ez kicsit sántít ill. félrevezető.
Java-ban a == -nal nem a két objektumot hasonlítjuk össze, hanem a két referenciát. Vagyis akkor kapunk igazat ha mindkettő ugyanarra az objektumpéldányra mutat.
Az equals-nél pedig meghívjuk az adott objektumpéldány equals függvényét, ami az objektumra jellemző összehasonlítást végzi és megmondja, hogy a paraméterként megadott másik objektumpéldányt azonosnak tekintjük-e, vagy sem. Ebben az equals-ben lehet megírni az objektumra jellemző logikát, ami az azonosságot kimondja. String-nél természetesen ezt már megírták és akkor mondja azonosnak, ha pontosan ugyanaz a a karakterliterál van mindkét String példányban.
De pl. írhatok az Alma osztályomba egy saját equals függvényt, ami az én logikám szerint akkor ad igazat ha a méret, a szín és a súly tulajdonságai megegyeznek a két összehasonlítandó Alma osztályból létrehozott példánynálTehát, NEM CSAK Stringnél kell az equals a == helyett az azonosság eldöntésére, hanem minden osztály példányánál.
A nem primitív típusoknál.
-
Ursache
senior tag
A out-re is legyen flush.

Ha arra is van igény, akkor nyilván. De a konkrét 2 (most már 3) soros példához nem hinném, hogy kéne, ha a helyes sorrendet tartani akarjuk.
-
Ursache
senior tag
Az miért van, hogy néha gondol egyet a System.err.println(); és a System.out.println(); és felcserélik saját magukat a kiiratáskor?
Szóval hogy ez van beírva:
System.err.println("TÖRLÉS MENÜ");
System.out.println("1-Egy állat törlése");
De az esetek kb. 30%-ában ez íródik ki:
1-Egy állat törlése
TÖRLÉS MENÜ
Ez helyett:
TÖRLÉS MENÜ
1-Egy állat törléseSystem.err.flush();
esetleg egy ilyet megpróbálhatsz.
szerk.:
Természetesen így:
System.err.println("TÖRLÉS MENÜ");
System.err.flush();
System.out.println("1-Egy állat törlése"); -
Ursache
senior tag
Sokkal több mindent tanulunk mint én írtam, de mivel java topic ezért a java-hoz kötődő dolgokról írtam. Abban egyetértek, hogy a matek fontos, a gond csak azzal van, hogy nem gyakorlat orientáltan tanuljuk. A jelenleg menő technológiákat, fw-ket tanítani nincs sok értelme, mert pár év alatt változik,de azért megnézhetnénk egy két dolgot... Az igaz, hogy itthon nem fogok leülni csak úgy nummodot tanulni és ezért ezt oktatják suliban, otthon meg megtanulsz programozni ha érdekel a téma. A legnagyobb gond ott van, hogy boldog boldogtalant felvesznek és ezért nagyon híg a mezőny, ami visszafogja a nagyobb tempót sajnos. De ez ellen nem lehet mit tenni.. De nem akarok nekiállni hosszabban ennél offolni, mert remélem 2hónap múlva túl vagyok a bsc-n és reménykedek, hogy talán msc-n lesz vmi haladóbb dolog is.
Alacsony a ponthatár, persze, mert nem a 480 pontos végigmagolomazéreccségit típusú emberek jönnek ide, akik sírnak, hogy alig van hely, meg fizetős meg etc, persze, mert a sok kamu szak most a divat, boldog-boldogtalan odamegy. Aztán hallom vissza az olyan történeteket, hogy pénzügyre jár egy csaj, és hogy neki pont 100 embert kell megkérdeznie, hogy %-osan kijöjjön az eredménye.
MSc-t csak külföldre ajánlják ezen a szakterületen.
-
Ursache
senior tag
A B tényleg nem a legjobb választás (szerintem sem). Ugyanakkor azért nem csak ezeket tanuljuk, és tényleg piszok sok a matek. De kell is, adott esetben! Ma (tegnap) is mesterséges neurális hálók esetében előjött a parciális deriválás. Hibafüggvények minimalizálása, regresszió, szélsőértékek... Nem véletlenül van modalg is, nagyon helyesen. El lehet menni OKJ-re is, lehet ott többet vesznek progból, ami tényleg prog, de nem ennyire mélyen. Ha ezt a szakot elvégzed, utána nincs gondod azzal, hogy hova menj, mindent meg tudsz ezek után tanulni, szóval full felesleges még 50 tárgyat hozzáadni a képzéshez. Pedig akkor is lehetne mondani, hogy de ez meg ez nem volt. Szóval nem elvárni kell, hanem betanítani, megtanítani...
Amúgy meg az egész google, csak jól kell tudni használni

-
Ursache
senior tag
Ha felmész pl elte/bme oldalára és megnézed a tantervi hálót, akkor lehet olvasgatni, hogy kb egy tárgy miről szól. Nálunk elte bsc-n nem jutunk sajnos messzire. egyik szakirány főleg: java se és belenyalunk a JPA létezésébe. másik szakirány főleg: c++, c# , asp.net. Van algoritmus és adatszerkezetek ami hasznos tárgy, csak sajnos ez is kevés. Na meg sok matek. Aki nem foglalkozik sulin kívül a témával és elte bsc, attól jó esetben ennyit.
Melyik szakirányra gondolsz?
-
Ursache
senior tag
És akkor a program elejére nem kell olyan, hogy import extra, vagy hasonló?
Igen.
-
Ursache
senior tag
Úgy érted, hogy például:
int fomenu=extra.Console.readInt("sg");
?WonderCSabo: Ez is megoldható, de mindig, kivétel nélkül .*;-al operáltunk, és nem tudom, mennyire lenne díjazva, ha változtatnék.
Igen.
-
Ursache
senior tag
Üdv!
Lenne egy kis gondom. Beadandót kell csinálnunk java-bol, de adódott egy elég nagy gondom rögtön az első soroknál.
Mi bevitelhez az extra.Console-t használjuk, viszont kellene a FileWriter is abba a programba, meg úgy eléggé sokminden a java.io-ból is. Úgy rémlik, ezzel semmi gond nem volt, mintha még írtunk is volna ilyen kis programot a suliban, de nekem nem megy.
Beírom, ahova szokás, hogy
import java.io.*;
import extra.*;
És amikor az első sorba belekezdenék:
int fomenu=Console.readInt("blablabla");
Fogja magát, és kiirja, hogy ütközés van a java.io.* és az extra.* között, mert mindkettőben van Console osztály.
Mit lehet tenni ezellen?Osztálytársaknak is mind működik, hiszen, van, aki már be is fejezte a programját, és ennek a két dolognak benne kell lennie.
Egyszerűen ne importáld az egyik packaget, hanem amikor hivatkozni szeretnél rá, akkor a teljes (minősített [fully qualified package name]) nevét használd.
Pl.: extra.Console.etc
-
Ursache
senior tag
Sziasztok!
Van egy file, aminek a tartalma egy szó(objektum típusa), utána pedig 4 attribútum, amik az objektum konstruktorába kerülnek.
Ebből a file-ból szertnék beolvasni, gyakorlatilag eg játékállást betöltve.
Ha az elején 2-es gombot nyomom le, akkor olvassa be a fájból, ha az egyest akkor teljesne új játékot kell kezdeni (ez gond nélül meg is van)Kb így néz ki:
Tipus[] tombEgy;
Tipus[] tombKetto;
if(gomb==2){
betoltes(tombEgy, fileEgy);
betoltes(tombKetto, fileKetto);
}
if(gomb==1){
tombEgy = new Tipus[db];
tombKetto = new Tipus[db];
feltolt(tombEgy);
feltolt(tombKetto);
}Mikor a betöltöttel szeretnék játszani, kapok egy NullPointerExceptiont akkor, amikor a tombKetto-t használnám először
Mi lehet a gond?
Ott nincs inicializálva a tömb. Bár mondjuk ez elég kevés kód, pastebinre töltsd fel.
-
Ursache
senior tag
Ez most amúgy progtech II?
-
Ursache
senior tag
Hát, hajrá, hajrá.
Én első körben kideríteném, mi az a Newton-módszer. Ilyesmikre a wikipedia jó kiindulópont szokott lenni.
Aztán átültetném ezt egy olyan nyelvbe, amiben változóknak lehet értéket adni, meg mindenféle vezérlési szerkezetekkel lehet ezeket piszkálni.
A szemfülesebbek 2 kattintásból is találnak hozzá pszeudokódot.
Persze megérteni azt is meg kell, de jóval egyszerűbbé válik átültetni az egészet javaba. És végülis erről szól az alkalmazott matek, nem?
Egy munkahelyen ennél azért jóval húzósabb feladatokat kell majd csinálni, és sokszor nemigen akad olyan, aki megmondja a tutit.A gyengébbek persze matlabozhatnak is, de egy java fórumon ilyet csak nem mondok. Én amúgy javaban csinálnám, mert a matlabhoz még annyira sem értek.

Amúgy elég sok az átfedés a feladatok között... szabad csapatban dolgozni?
A gyengebbek javazhatnak is, az igazi hc arcok assembly-ben irjak...
-
Ursache
senior tag
-
Ursache
senior tag
-
Ursache
senior tag
Dafuq...
-
Ursache
senior tag
Lehet, hogy Java-ban kell

Ez minősítheti a NIK-et? ELTE-IK után pedig oda akartam/akarok menni, mondjuk csak a referencia NIK-es... + a tárgyat úgy is beszámíttatnám...
Továbbá ha valamit shell-ben meg tudok oldani 2 sorban, akkor nem kezdem el C#-ban megírni.
Az jó nagy marhaság lenne, ha numerikus analízist java-ban erőltetik

-
Ursache
senior tag
Sziasztok!
Egy matematikai programozási feladattal kapcsolatban kérdeznék.
"Közelítse az e^x = 3x egyenlet megoldását felező módszerrel 10^-4 pontossággal!"Az lenne a kérdésem, hogy a javaban, hogyan lennék képes megoldani ezt az egyenlőtlenséget hogy:
e^x - 3x = 0?Mi az az intervallum-felező módszer(?):
Megoldás:
double a, b, c, fa, fc;
a = 0;
b = 1;
for (int i = 1; i <= 4; i++) {
c = (a + b) / 2;
fa = (Math.pow(Math.E, a) - 3 * a);
fc = (Math.pow(Math.E, c) - 3 * c);
if (fa * fc < 0) {
b = c;
} else {
a = c;
}
System.out.println(c);
}Lényegében ha megtudnám az x értékét akkor az "a" és "b" nem 0 és 1 kerülne hanem egy pontosabb eredmény, így végül pontosabb lenne a végeredményem is és nem:
0.5
0.75
0.625
0.5625Az ilyet miért nem MatLab-ban vagy hasonló nyelvben csinálod?
-
Ursache
senior tag
Visszakanyarodva az eredeti felvetéshez -- mielőtt elmegy a topic a PH fórum szabályai irányába -- még ha van egy perzisztencia motorod, az is bele fog gabalyodni az oszlop nevekbe, mert nem fog tudni kötni semmilyen objektumot a resultset-hez jól, ha abban két azonos nevű oszlop van, pl.:
SELECT * FROM User u
INNER JOIN Company c ON c.id=u.company
WHERE ...Ha a User és a Company táblában is van egy name oszlop, akkor a visszakapott eredményben a User és a Company nevek értékei kavarodnak. Ha már csak egy natív SQL-t hajtasz végre, és egy Object[]-be kéred az eredményt, akkor is az egyik táblában lévő name értéke lesz mindkét pozícióban. Ezért van az, hogy minden mezőt felsorolnak és mindegyiknek egy aliast adnak.
Köszönöm

-
Ursache
senior tag
Most ezt kitől kérdezed? Mert megint nem használtad a Válasz linket.
Szokj már rá a használatára légyszi, nagyon zavaró a hiánya (hogy nincs előzménye a hsz.-eidnek a fejlécben), köszi. 
Amúgy keress rá Google-ben a "why select * is bad" kulcsszavakra, bőven fogsz találni cikkeket a témában. Röviden: teljesítmény szempontjából nagyon káros tud lenni. Ezenkívül teljesen felesleges minden egyes oszlopot kiválasztani, amikor az esetek 99%-ában nincs szükség mindegyikre. Nem beszélve arról, hogy a mezők egyértelmű felsorolásával kiolvasható a query-ből az is, hogy egyáltalán milyen mezők lesznek elérhetőek (pl. ha már JDBC, a ResultSetből való mezőeléréskor), és melyekre van szükségünk, tehát maga a kód is értelmesebb lesz tőle.LOL! Most látom, hogy ezt a "másik" topikban is megkaptam, arra ott nem reagálnék, ha nem gond

-
Ursache
senior tag
"Pár éve olvastam egy etikettet, vagy szabályzatot, miszerint ha az éppen előtted szólónak szánod a hozzászólást, akkor ne használd a válasz gombot. Azóta megváltozott? Vagy a topicra más érvényes?"
Ilyen szabály SEHOL nem volt soha érvényben.
Sőt, pont ennek ellenkezője van az alapelvek között is.
http://prohardver.hu/allando/alapelvek.html#jotanacsok
III.12.4.3. "Egy hozzászólásra mindig a Válasz linkkel írj, hogy mindenki láthassa mire és kinek válaszoltál."My bad.
-
Ursache
senior tag
Most ezt kitől kérdezed? Mert megint nem használtad a Válasz linket.
Szokj már rá a használatára légyszi, nagyon zavaró a hiánya (hogy nincs előzménye a hsz.-eidnek a fejlécben), köszi. 
Amúgy keress rá Google-ben a "why select * is bad" kulcsszavakra, bőven fogsz találni cikkeket a témában. Röviden: teljesítmény szempontjából nagyon káros tud lenni. Ezenkívül teljesen felesleges minden egyes oszlopot kiválasztani, amikor az esetek 99%-ában nincs szükség mindegyikre. Nem beszélve arról, hogy a mezők egyértelmű felsorolásával kiolvasható a query-ből az is, hogy egyáltalán milyen mezők lesznek elérhetőek (pl. ha már JDBC, a ResultSetből való mezőeléréskor), és melyekre van szükségünk, tehát maga a kód is értelmesebb lesz tőle.Pár éve olvastam egy etikettet, vagy szabályzatot, miszerint ha az éppen előtted szólónak szánod a hozzászólást, akkor ne használd a válasz gombot. Azóta megváltozott? Vagy a topicra más érvényes?
Tőled kérdeztem.
Oké, köszi, nagyjából ezeket tudtam volna elképzelni.
-
Ursache
senior tag
Miert nem javasolt? Vannak otleteim, de hallani is akarok felole.
-
Ursache
senior tag
Utananezhetsz meg az atan2-nek is.
-
Ursache
senior tag
Két kezemet összetenném, ha a Taylor-sor lenne a haszontalanabb matek rész, amit tanultam.

Felreertettuk egymast. Azt akartam kifejezni, hogy az milyen fontos dolog (tenyleg fontos!), de csak papiron szamolgattunk, gyakorlati alkalmazasat nem vettunk... a kepzes nem is erre van kihegyezve.
-
Ursache
senior tag
ELTE IK-n is ez van. Olyan elmeletben nyomjak a matekot... gyakon meg a felere sincs ido. Plane tenyleges gyakorlati hasznat nem is latjuk (pl. Taylor-sorok), de ki kell szamolni. Igy elveszik az erdeklodes, pedig hasznos es jo dolgok ezek. Volt egy matlabos oram, de azt is atalakitottak mar. Pedig rohadt szep volt newton-modszert mindig plotolni, na, megvan mar a gyok?
Szoval mindenhol csak a fos elmeletet nyomjak, sajnos.
Get used to it.
-
Ursache
senior tag
while (!(input = sc.next()).equals("exit")) { ... }
nem lenne jobb?
-
Ursache
senior tag
Sziasztok!
Ide is bemásolom amit az androidos csoportba írtam, mert nem teljesen android specifikus a probléma:
Nem rég kezdtem az android programozást és most belefutottam egy nem túl bonyolultnak tűnő problémába, le próbálom írni röviden:
Randomra színezek objektumokat (ez most mindegy, lehet button, layout, akármilyen viewnak a backgroundja), idáig rendben is van, csak szeretném ezeknek a színeknek a nevét visszakérni futás időben vagy akárhogy, pl ha onClick-kel valamelyik objektumra kattintanak/nyomnak akkor annak a színét kiírja pl Toastban.
Linkelem az eddigi programkódomat, de lehet hogy máshogy kellene nekifutni ennek az egésznek:
[link]Kikommenteztem a felesleges sorokat.
Előre is köszönöm a segítséget!

Komplett kodot nem tudok, de nagyjabol ezt kell csinalnod:
Mindegyik szinezett komponensnek (viewbeli elem) beallitasz egy onClick eventet, amiben a sourcet le tudod kerdezeni, majd at kell kasztolnod a komponensek megfelelo ososztalyara (szerintem alapbol Object a source es ezt kell Node-ra), es a kasztolas utan mar elerhetoek a megfelelo tagfuggvenyek.
-
Ursache
senior tag
Szerintem ezeket a helyeket akarja egy tömbben eltárolni.
De várjál, ezekből a számpárokból szeretnél még egy párt alkotni? Tehát Hely x Hely párok? Akkor Hely[][] tömb kell neked.
És a dimenziós tömbben ezeket a helyeket mi alapján hova fogod rakni?
-
Ursache
senior tag
Ööö. Ilyesmi csak két nagyságrenddel egyszerűbben.

Az egyik kollégám mondta, hogy Javaban nem programozni kell, csak tudni, hogy hol írták már meg...
Ebben van valami igazság.Nekem két funkció is kellett - "human readable" adatokkal feltöltse az adatstrutúrát (ilyen már van pl. xml), - de (2.) feltöltés közben egyfajta "előkészítő" adatfeldolgozást is végezzen; ha a forrás azt indokolja. Ez utóbbit nem lehet valószínűleg saját kód hozzápasszintása nélkül megoldani...
((A valóságban meg egy hevenyészett (sőt tákolt) tesztkód adta meg az alapötletet, ami átgyúrás után rövid, tömör és tetszetős lett. Bár valaki már biztos ezt is megírta...))Köszönöm a fenti linket, már elkezdtem elmélyedni benne

Ahogy mondtad, hogy programnyelvet kell felismertetni, feldolgozni, egyből a fordítóprogramok tárgy ugrott be, onnét meg bisonc++ és flex. Gondoltam, hogy java-ban is van valami ehhez hasonló (ennek megfelelő) változat, és van
Szépen elkülönítve vannak a részek, struktúrált felépítés, semmi gányolás. Lexikális elemzés, szintaktikus elemzés, szemantikus elemzés, kódgenerálás (kódoptimalizálás).De ennek azért komoly elméleti háttere is van (LA)LR(1) vagy általánosítva k-ra. SLR(1), meg mindenféle formális nyelvek, automata, grammatikák, nyelvosztályok. VDA (véges determinisztikus automaták), különféle algoritmusok, CYK algo, etc... Szóval könnyen el lehet benne veszni.
Hajrá!

-
Ursache
senior tag
Konkrétan, használom, azért kellett felfedeznem

Egy speciális szöveget (egyfajta programnyelvet) szeretne feldolgozni a program. A beolvasás minden adat-elemnél közel azonos, csak éppen pl. a String String-ként, a numerikus érték Long-ként érkezik. Az érkező adatelemekről egyébként elég sok mindent tudok, pl. azt is, hogy a numerikusak milyen pontosságúak kell legyenek. Nem csupán java értelemben, hanem pl. ha egy szín jön, az unsigned 32 bittel írható le (ami egyébként belefér egy signed int-be).
Az eredeti megvalósítás ellenőrizte a pontosságot, aztán visszaadott egy - a kívánt pontosságnak megfelelő - Long értéket. Csakhogy, egyszerűbb ha pl. pont a szineknél kapásból egy Integer pontosságú értéket ad vissza, mert akkor nem kell tovább bonyolítani a dolgot az adatot tároló változók szintjén.
Egyébként az egész teljesen prímán működött, amíg a különböző típusokat különböző metódusok szedték elő. Viszont egy közös Object-tel egyetlen átlátható metódusra egyszerűsödött az egész - éppen csak ide-oda kellett volna konvertálnom az adatokat. Na, ez nem ment. Utána meg már az érdeklődés is hajtott.
Bocs, ez kicsit leegyszerűsítette a problémát, de remélem, érthető maradt.
(Mivel nem vagyok profi programozó, azt sem igazán tudtam, hogy mire keressek a googliban. Végül aztán sikerült megtalálni.)
http://jflex.de/
-
Ursache
senior tag
Ezt en is meg akartam kerdezni, csak nem mertem

-
Ursache
senior tag
Gyakorlatban itt a kód, hogy lehet ezeket a referenciákat megoldani? Még nem halottam róluk.
List<Integer> lista1 = new ArrayList<>(); <- létrehoz egy lista objektumot a memóriában, majd ráállít egy referenciát lista1 néven, amelyen keresztül el tudod érni a lista objektumot.
List<Integer> lista2 = lista1; <- nem hoz létre egy új listát (sem egy vadonatújat, sem egy újat a lista1 elemeivel feltöltve), hanem az előzőleg létrehozott lista objektumra létrehoz még 1 referenciát, így két referenciád mutat a memória egyazon területére.
Konklúzió: bármelyik referencián keresztül is módosítod az objektumot, az a másik referencián keresztül is "látszódni" fog.
-
Ursache
senior tag
Robert C. Martin - Tiszta kód c. könyve jó?
Az enum-ot nem ismerem, de most találtam egy 10 példás áttekintést.
Az a konyv tokeletes!
Ez enum pont az ilyen fajta problemakra ad megoldast. Nem nehez megerteni, megtanulni. Nekem is volt, hogy boolean-okkal, aztan amikor kettonel tobb allapotot kellett leirnom, akkor int-ekkel heggesztettem. A boolean nem erre valo, az int sem kifejezetten, azt meg akar hibakodora lehet, de allapot leirasokra, meg ilyen jellegu problemakra enum. Hajra!
-
Ursache
senior tag
Így működik köszönöm. A feladatban így kellett meghatározni a tömböt, csak én máshogy csináltam meg a hozzaAd metódust és elfeledkeztem róla.
Csak egy megjegyzes: konvencio, hogy a final kulcsszoval ellatott konstansok neveit csupa nagybetukkel kell irni.
Tovabba gondolom a boolean tipus parameter donti el az eljarason belul, hogy most tartolaprol avagy hatlaprol van-e szo. Erre enum-ot hasznalj.
+ az osztalyok nevei mindig nahybetuvel kezdodnek, ahogyan a kollega is irja.
Ezek talan a legszembetunoek. Olvass utana a clean coding-nak es a konvencioknak. Nem csak masoknak, hanem magadon is segitesz ezzel.

-
Ursache
senior tag
Van két osztályom egy bútor és egy bútorlap. A bútorlap három adattaggal dolgozik. A bútor kettővel és az egyiknek bútorlap adattípusa van és egy tömb. A bútorlap osztályban van egy árSzámol() metódus ami hát kiszámolja a bútorlap árát. A bútor-ban tárolva vannak a bútorlapok a tömbben és hogyan tudom meghívni a bútorlapban lévő árSzámol metódust, hogy azt egy sum változóhoz minden for ciklus iterációban visszaadja. Eddig jutottam.
public int arSzamol(){
int sum = 0;
for(int i=0; i < butor.length;i++){
sum = sum + butor[i].arSzamol();
}
return sum;
}Most lehet nem jól értelmezem a kérdést, de egyszerűen definiálsz egy public int árSzámol() {} eljárást a bútorlap osztályban, és a tömbön végigiterálsz, ahogy csinálod is ( gondolom az a bútor osztályodban lévő árSzámol() ), és csak egyszerűen hívogatod az árSzámol() eljárást minden bútorlapra.
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- Bomba ár! Lenovo ThinkPad X280 - i5-G7 I 8GB I 256GB SSD I 12,5" HD I HDMI I Cam I W11 I Gari!
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -2 ÉV GARANCIA - Kártyafüggetlen, MS5379
- Keresünk S24/S24+/24 Ultra/S24 FE
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- iPhone 15 Pro 128GB 88% (1év Garancia) - Kijelzőn pici folt!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




1 sor mindig jobb, mint 5. Főleg, ha ilyen boolean marhulásból áll. Az egyik kedvenc "egysorosom":







