Hirdetés
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- hdanesz: Elektromos autózás - első élmények
- Brogyi: CTEK akkumulátor töltő és másolatai
- ricshard444: iPhone 17 Pro Max - Kedves téglám
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
- 
			
			  n00n őstag Sziasztok! A cégnél ahol dolgozom van egy elég kokány Java-ban írt mentéskészítő alkalmazásunk. Arra gondoltam, hogy teljesen újraírnám, mert néha furcsán viselkedik. Tanultam főiskolán Java programozást, így az alapok meg vannak és tényleg nem bonyolult. Viszont pár dologban a segítségeteket szeretném kérni. Amit tudni kell: NetBeans 7.4-et használok 
 7-es Java-val.A program az alábbiakat tudja: Van egy grafikus felület. Rajta egy információs sor, ahol megjelenik az utolsó mentés dátuma, illetve a mentés hosszának ideje. Ezen kívül egy gomb van még Mentés felirattal. A gomb megnyomásakor ellenőrzi, hogy meg vannak-e a szerveren a mentendő fájlok (/home/server/mentendok), be van-e dugva a mentéshez használatos külső merevlemez (dev/eszkozneve). Ha minden oké, akkor felcsatolja a lemezt, a /mnt/mentes-disk alá. Majd elkezdi másolni az adatbázis fájlokat, ebből 4 van. Ha ezzel végzett akkor van egy pdf nevű mappa, amiben körülbelül 10 ezer kisebb fájl van. Ezeket is elkezdi másolni, viszont ha már meg van akkor kihagyja. Ha végzett, akkor lecsatolja a merevlemezt, frissíti az ablakon lévő információkat (utolsó mentés, mentés hossza). Szóval ezt kellene megírni. Ti merre indulnátok el? Mit használnátok lemez csatoláshoz és lecsatoláshoz Linux alatt? 
- 
			
			  -v- addikt Tudtok mondani valami legegyszerűbb ingyenes tool-t amivel UI mockupokat tudok rajzolgatni? 
 Valamit, ami bevált.Kösz 
- 
			
			  floatr veterán Az új osztály definíciójánál az ősosztály paraméteres. Vagy konkretizálod, hogy mi a paraméter, vagy hagyod eredeti formájában. A paraméterre vonatkozó megszorítást (Termek) csak az éppen definiált osztálynál tehetsz. Ez a megszorítás annyit tesz, hogy a fordító csak olyan Raktar objektumot enged létrehozni, aminek a paramétere Termek típusú, vagy annak leszármazottja. Ha Gyumolcs paraméterrel hozod létre, akkor onnantól kezdve már nem adhatsz hozzá bármilyen Termek leszármazottat, csak ami a Gyumolcs-ből ered. Ha pl a Kifli is termék (de ugyebár nem Gyumolcs), akkor ez nem fog fordulni: new Raktar<Gyumolcs>().add(new Kifli()); mert ez egy "gyümölcsraktár" példány, ahová kiflit nem lehet raktározni szerk.: 
 a paraméteres leszármaztatásnál vagy az osztály definíciójakor szabod meg, hogy mi a paraméter, vagy az osztály is paraméteres lesz. Ha paraméteresen hagyod, akkor megmondhatod, hogy milyen ősosztályból lehet paraméter használni, amikor az osztályt létrehozod. A megszorítást meg azért az új osztálynál kell bevésni, mert arra vonatkozik a megszorításod, nem az ősosztályra.
- 
			
			  Jim-Y veterán válasz  WonderCSabo
							
							
								#4892
							
							üzenetére WonderCSabo
							
							
								#4892
							
							üzenetéreElolvastam, onnan vetődött fel a kérdés  mod: Lehet, nekiugrok még egyszer mod: Lehet, nekiugrok még egyszer 
- 
			
			  WonderCSabo félisten A RaktarV-nek deklaráltál egy típusparamétert, ott. Egyébként bővítettem a hszemet. Javaslom olvasd el a Java genericset. public class Raktar<T extends Termek> 
- 
			
			  Jim-Y veterán válasz  WonderCSabo
							
							
								#4890
							
							üzenetére WonderCSabo
							
							
								#4890
							
							üzenetéreMiért a helyes esetben a T-t hol deklaráltam? public class Raktar<T extends Termek> extends ArrayList<T> { } aha, akkor azt a különbséget már értem, hogy ha 
 ArrayList<Termek> -ként hozom létre az osztályt, akkor ebbe mehet Termek, és Termek leszármazott, a másik tipusparaméteres esetben pedig a typus argumentumtól függ, hogy mi mehet bele, tehát
 RaktarV<T extends Termek> extends ArrayList<T> esetén ha olyat írok hogy
 RaktarV<Gyumolcs> = new ...
 akkor Csak Gyumolcs és annak leszármazottai mehetnek bele, de Termek mar nem, csak ugy ha a tipus-argumentum az Termek ->
 RaktarV<Termek> = new ...De azt továbbra sem értem, hogy ezt miért így kell szintaktikailag létrehozni  Bár lehet ezen feleslegesen pörgök, jegyezzem meg 'oszt kész ^^ Bár lehet ezen feleslegesen pörgök, jegyezzem meg 'oszt kész ^^
- 
			
			  WonderCSabo félisten public class RaktarV extends ArrayList<T extends Termek> { } Ez semmiképpen nem lehet helyes, hiszen a T típust sehol sem deklaráltad. Ebben az esetben nincs típusparamétere az osztálynak: public class RaktarV extends ArrayList<Termek> { } Ebben az esetben meg van: public class Raktar<T extends Termek> extends ArrayList<T> { } Mig az első esetben a RaktarV-be bármilyen Termek leszármazottat lehet rakni, a típusparaméteres verzióban csak az aktuális típusparamétert, vagy annak leszármazottjait, pl. RaktarV<Gyumolcs> raktar; 
 raktar.add(new Termek()); // nem fordul
- 
			
			  Jim-Y veterán Sziasztok, miért van az, hogy ez helyes: public class RaktarV extends ArrayList<Termek> { } ugye ez ha minden igaz azt, jelenti, hogy a RaktarV egy objektuma egy olyan ArrayList-et valósít meg ami Termek tipusú elemeket tárolhat. de ez már helytelen: public class RaktarV extends ArrayList<T extends Termek> { } 
 helyette ez a helyes
 public class Raktar<T extends Termek> extends ArrayList<T> { }a kérdés csak annyi lenne, hogy akkor utóbbi esetben máshogyan kell szintaktikailag jelenzni és kész, vagy van valami más különbség is? Ugye a második esetben a Raktar egy objektuma egy olyan ArrayListet valósít meg ami Termek, vagy Termek subclass tipusu elemeket tárolhat. Nekem az nem világos, hogy miért nem így kell ezt is megadni: 
 public class RaktarV extends ArrayList<T extends Termek> { }? üdv 
- 
			
			  floatr veterán válasz  alratar
							
							
								#4885
							
							üzenetére alratar
							
							
								#4885
							
							üzenetéreHa a cél a Vector használata, akkor nem életszerű. 
 Az ilyen nyilvántartásokat Map vagy Set használatával sokkal egyszerűbb, és gyorsabb is kezelni. Ha rendezési elv is van mögötte, akkor vannak rendezhető Map-ek is. Nem véletlen, hogy általában adatbázist is raknak mögé.
- 
			
			  floatr veterán válasz  alratar
							
							
								#4878
							
							üzenetére alratar
							
							
								#4878
							
							üzenetéreAkkor hadd szóljak ki egy kicsit az enterspájzból én is. Ha egy metódusnak a neve "set...", de nem értéket állít be, hanem összead, akkor -- még ha azt is csinálná, amit kellene -- egy kód review-nál fognak hátba vágni. Másrészt meg sokak számára fájó pont, de célszerű legalább az elnevezések esetében angolt használni. Ha egy végzős egyemistát bedobnak a mély vízbe, nagy eséllyel kerülhet olyan projektbe, ami külföldi kooperációban készül. De ha a konkrét példánál maradunk, akkor sokkal hatékonyabb lenne egy Map-be tárolni, és kulcs (név) alapján keresni, vagy Set-be pakolni, és hashCode/equals metódusokat használni. Ha ez valami oktatáshoz kötődik, akkor nem értem, hogy miért nem lehet életszerűbb példákon keresztül oktatni. 
- 
			
			válasz  pokerecske1
							
							
								#4882
							
							üzenetére pokerecske1
							
							
								#4882
							
							üzenetéreKöszönöm a tippet, a javaslat nem hozott eredményt, de rávezettél, mert mellette lejjebb vettem a biztonsági szintet és így engedte a telepítést!  
- 
			
			Sziasztok! Elnézéseteket kérem, hogy itt teszem fel a kérdésem, de ennél jobb helyet nem találtam hirtelen és nagyon sürgős lenne a dolog. 
 A következő hibára tudtok valamilyen megoldást? Semmilyen nyomtatványt nem lehet a NAV kitöltőprogramjához telepíteni (több gépen is próbáltam). Vannak keresési találatok a hibára, de ebben az esetben szerintem a külföldi leírásokkal nem sokra megyek.Előre is köszönöm! 
- 
			
			válasz  WonderCSabo
							
							
								#4877
							
							üzenetére WonderCSabo
							
							
								#4877
							
							üzenetéreNa igen!  
- 
			
			válasz  WonderCSabo
							
							
								#4868
							
							üzenetére WonderCSabo
							
							
								#4868
							
							üzenetéreIgen, jól látod, hogy az áru mennyiségét akarom azzal változtatni. 
 De mint mondtam, az direkt van úgy, mivel mást kellett csinálnom, így a bemásolás pillanatáig nem írtam áát.
- 
			
			  WonderCSabo félisten válasz  caindwan
							
							
								#4874
							
							üzenetére caindwan
							
							
								#4874
							
							üzenetéreAzért mert a meglévő algoritmusokat nálunk sokkal okosabb emberek készítették, matematikailag bebizonyították, kitesztelték,rengetegen használják és óriási tapasztalat van hozzájuk, továbbá nagyon jó implementációk. Ezek közül egy házilag barkácsolt titkosításról általában egyik sem mondható el. Továbbá ez a dolog is u.a., mint a programozás többi része: felesleges rugózni, ha már van kész megoldás. 
- 
			
			  caindwan aktív tag ÖÖ nem tudom mennyire lesz értelmes a kérdés. De ha tesztelni szeretnék, hogy egy kódolás mennyire biztonságos.. Van erre valamilyen program? 
- 
			
			
- 
			
			  WonderCSabo félisten válasz  alratar
							
							
								#4867
							
							üzenetére alratar
							
							
								#4867
							
							üzenetéreDe ennek semmi értelme! A függvény lefutása után a lokális változó felszabadul, és a növelt érték megy a kukába... Gondolom itt azt akartad elérni, hogy az osztály által reprezentált áru mennyisége változzon meg, nem?... Mert arra a jelenlegi függvényed nincs hatással. 
- 
			
			válasz  WonderCSabo
							
							
								#4866
							
							üzenetére WonderCSabo
							
							
								#4866
							
							üzenetéreJa, az direkt van úgy. 
- 
			
			  WonderCSabo félisten válasz  alratar
							
							
								#4865
							
							üzenetére alratar
							
							
								#4865
							
							üzenetéreAz, hogy amikor ezt írod, hogy public void setMenny(double menny) { 
 menny += menny;
 }Akkor a paraméterben kapott menny változó értékét növeled meg, és nem a példányváltozóét. A lokális változó mindig elfedi a tagváltozót. Úgy tudsz ilyen esetben a tagváltozóra hivatkozni, hogy: public void setMenny(double menny) { 
 this.menny += menny;
 }A másik opció, hogy átnevezed a paramétert. Tényleg el kéne olvasnod valami alap Java könyvet, vagy vmi tutorialt végigcsinálni. De egyébként ez a jelenség más nyelveken is így vna. 
- 
			
			  Karma félisten válasz  alratar
							
							
								#4855
							
							üzenetére alratar
							
							
								#4855
							
							üzenetéreA menny += menny csak nekem tűnt fel? Mindenesetre eddig ez elég FUBAR, szerintem lassítanod kéne egy kicsit és két dolgot mindenképp megejteni: kicsit végiggondolni hogy ki kivel van, és némi konvenciót is kéne találnod a tagváltozókban (vagy kiírni a this-t, mert így a settereid nem sokat csinálnak. WonderCsabo: a += -re gondoltam explicite  
- 
			
			válasz  WonderCSabo
							
							
								#4857
							
							üzenetére WonderCSabo
							
							
								#4857
							
							üzenetéreHops, a zöldségek egy régebbi állapotból maradt meg és úgy látszik azt elmulasztottam átírni.  Valahonnan szedett a haverom egy extra nevű csomagot és abban van konzol osztály, így az működik.  @modder: dehogy! 
- 
			
			  fatal` titán válasz  WonderCSabo
							
							
								#4857
							
							üzenetére WonderCSabo
							
							
								#4857
							
							üzenetéreRáadásul a termék osztálynak nem igazán lehet Zoldseg konstruktora. 
- 
			
			  Jim-Y veterán válasz  alratar
							
							
								#4855
							
							üzenetére alratar
							
							
								#4855
							
							üzenetéreÉn ezt így csinálnám. Nyílván csinálhatnál ekkor a gyümölcsöknek is egy külön osztályt. De akár az is játszik, hogy nem csinálsz egy külön interface-t, hanem pl a Zöldséget a Termék osztályból származtatod, mint ahogy a Gyümölcsöt is. 
 Ez sem egy világbajnok kód, de szerintem annál amit csináltál jobb 
- 
			
			  WonderCSabo félisten válasz  alratar
							
							
								#4855
							
							üzenetére alratar
							
							
								#4855
							
							üzenetéreItt eléggé nagy kavar van. A Vector<String> aru példányváltozót elfedi a lokális Termek aru - ez bár legális, nem éppen okos döntés. Valamelyiket mindenképpen nevezd át, az elsőnek van rossz neve mellesleg. A zoldsegek Vector hol van definiálva? Termek aru = new Temek(nev, 0.0); 
 if (zoldsegek.contains(aru)) {Ez itt mindig false-ot fog visszaadni, mivel a contains az equals metódust hívja meg, ami pedig alapesetben a referenciákat hasonlítja össze, azok pedig sosem fognak egyezni, hiszen mindig új objektumot hozol létre. Definiáld felül az equals és hashCode metódust a Termek osztályban, hogy ez értelmesen működjön. A Vector<String> aru típusparamétere miért nem Termek? Console.readLine Csak kíváncsiságból kérdezem: ezt az osztályt milyen framework szolgáltatja?  
- 
			
			válasz  WonderCSabo
							
							
								#4853
							
							üzenetére WonderCSabo
							
							
								#4853
							
							üzenetéreÉs ez így is van. class Termek{ 
 private String nev;
 private double ar;
 private double menny;
 
 public Zoldseg(String nev, double ar) {
 this.nev = nev;
 this.ar = ar;
 menny = 0.0;
 }
 
 public String getNev() {
 return nev;
 }
 
 public double getAr() {
 return ar;
 }
 
 public double getMenny() {
 return menny;
 }
 
 public void setMenny(double menny) {
 menny += menny;
 }
 }
 public class Raktar {
 Vector<String> aru = new Vector<String>();
 
 public void felvitel() {
 String nev = Console.readLine("Kérem adja meg az áru nevét: ");
 Termek aru = new Temek(nev, 0.0);
 if (zoldsegek.contains(aru)) {
 System.out.println("Az áru már létezik!");
 return;
 }
 double ar = Console.readDouble("Adja meg az áruárát: ");
 double menny = Console.readDouble("Adja meg az áru mennyiségét (kg): ");
 aru.add(new Termek(nev, ar));
 }A Termek osztály még nincs kész és valszeg nem is jó. 
- 
			
			  WonderCSabo félisten válasz  WonderCSabo
							
							
								#4853
							
							üzenetére WonderCSabo
							
							
								#4853
							
							üzenetéreHa pedig mindenképpen úgy érzed, hogy a termék neve nem tartozik bele a termek osztályba, akkor használhatsz egy Map<String, Termek> konténert, ami névből - termek asszociációkat tartalmaz. 
- 
			
			válasz  WonderCSabo
							
							
								#4851
							
							üzenetére WonderCSabo
							
							
								#4851
							
							üzenetéreNos, röviden azt szeretném, hogy letároljam egy termék (pl valamilyen gyümölcs) nevét, és az adott termék két tulajdonságát (ár és, hogy mennyi van belőle). Erre írtam egy termek nevű osztályt, ahol az adott árura vonatkozó metódusok vannak. (nevének a lekérdezése, árának a lekérdezése stb.) 
 És írtam egy másik, Raktar osztályt, ahol deklaráltam a vektoromat és hozzá szeretném adni a vektorhoz a három adatot. (áru neve, ára, és a mennyisége)
- 
			
			  WonderCSabo félisten válasz  alratar
							
							
								#4850
							
							üzenetére alratar
							
							
								#4850
							
							üzenetéreNem biztos, hogy jó lesz, nem teljesen értem, hogy mit akarsz. Egyébként Object-et típusparaméternek nem sok értelme van megadni, legalábbis ebben az esetben semmi. Ha Object-et adsz meg típusparaméternek, akkor bármilyen objektumot berakhatsz a konténerbe. Pl. Vector<Object> vector = new Vector(); 
 vector.add(new String());
 Integer integer = (Integer) vector.get(0);Az utolsó sor fordítási időben teljesen legális kód, de ClassCastException-nel jár, hiszen a String nem Integer. A vicc az, hogy a generic-et pont arra találták ki, hogy ezt a problémát kiküszöbölje, Te pedig arra akarod használni, hogy mégis probléma lehessen belőle... 
- 
			
			válasz  WonderCSabo
							
							
								#4848
							
							üzenetére WonderCSabo
							
							
								#4848
							
							üzenetéreKicsit utánaolvastam, és azt írja, ha Object típust adok a vektornak, akkor jó lesz! 
- 
			
			  S0m30n3 aktív tag Köszönöm a tanácsokat.  Igen, érdekel komolyabban a programozás. Amúgy a tanárnőnk is mindig mondja, hogy a tervezés egy nagyon fontos szempont, én is így gondolom, csak adatbázisokhoz még nem sok közöm volt, pont azért is próbáltam ki a vizsgaprogramban. Nem gondoltam, hogy ennyire szerteágazó az adatbázisok világa, de legalább ez a kis fejlesztés erre is ráébresztett. Igen, érdekel komolyabban a programozás. Amúgy a tanárnőnk is mindig mondja, hogy a tervezés egy nagyon fontos szempont, én is így gondolom, csak adatbázisokhoz még nem sok közöm volt, pont azért is próbáltam ki a vizsgaprogramban. Nem gondoltam, hogy ennyire szerteágazó az adatbázisok világa, de legalább ez a kis fejlesztés erre is ráébresztett. 
- 
			
			válasz  WonderCSabo
							
							
								#4844
							
							üzenetére WonderCSabo
							
							
								#4844
							
							üzenetéreAkkor viszont nem tudom milyen típust adjak meg a vektornak, ugyanis egy nevet, s két nem egész számot szeretnék tárolni. 
 Esetleg két másik vektorban tároljam a számokat?Akár használhatnék azt is! 
- 
			
			  WonderCSabo félisten válasz  alratar
							
							
								#4843
							
							üzenetére alratar
							
							
								#4843
							
							üzenetéreCsak az, hogy mégsem String típusú objektumot adtál át az add metódusnak, hanem elnéztél valamit. Fontos, hogy a statikus típusnak is String-nek kell lennie, mivel fordítási időben történik a típusellenőrzés, szóval egy Object statikus típusú objektumot nem tudsz átadni, hiába dinamikus típusa String. Egyébként látom nem csak sikerült megfogadni a tanácsot, és ArrayList-et használni. 
- 
			
			Létrehoztam egy String típusú vector-t és hozzá szeretnék adni egy elemet az add metodussal, de aláhúzza és ezt írja ki: The method add(String) in the type Vector<String> is not applicable for the arguments Mi lehet a probléma? 
- 
			
			  caindwan aktív tag válasz  WonderCSabo
							
							
								#4841
							
							üzenetére WonderCSabo
							
							
								#4841
							
							üzenetéreKöszönöm, átnézem  
- 
			
			  fatal` titán Akkor dob nullptrexet, ha az objektum null, aminek hívod az equals függvényét, de ez egyértelmű. Maga az equals nem kéne, hogy nullt dobjon, csak false-al visszatérni. (#4837) Karma : Sajnos még az egyetemeken is jellemző, hogy nem engednek listát használni, vagy nem mindig. Én pl. csak akkor használok tömböt, ha fixek az elemek. 
- 
			
			  WonderCSabo félisten válasz  caindwan
							
							
								#4836
							
							üzenetére caindwan
							
							
								#4836
							
							üzenetéreTehát a kimenetnek {'v','c'} -nek kéne lennie? Legegyszerűbb megoldás az, hogy készítesz egy temp ArrayListet. Végigmész a tömbön, és ha az adott karakter nem 'a', hozzáadod az ArrayList-hez. Ha végigértél, egyszerűen meghívod az ArrayList-en a toArray metódust, és megkapod amit kértél. Ha nem lehet ArrayListet és egyebet használni, akkor pedig a kövi algoritmust lehetne: int count = 0; 
 for (each index of the array)
 if (array[index] != 'a')
 array[count] = array[index]
 count++Ekkor az eredeti arrayed 0 és count -1 elemei lesznek a szükséges kimenet, ezt vagy kimented egy másik arraybe, vagy hagyod így, ha így is ok. Remélem nem most oldottam meg egy házit helyetted, de attól tartok, ez történt. Karma: Jól látod, az oktatóknak általában mániája a tömb, még Javában is. Én azt mondom, kötelező ismerni és használni tudni, de nem kell.  
- 
			
			
- 
			
			  caindwan aktív tag Ha adott: 
 char[] a = {'a','v','a','c','a'};
 Hogyan lehetne kitörölni az A karaktert és a többit a helyére pótolni ( {'v','c'} )? Az indextől indexig törlés nem jó, mert ismeretlen a karakterek helyzete. Előre köszi 
- 
			
			  floatr veterán válasz  WonderCSabo
							
							
								#4834
							
							üzenetére WonderCSabo
							
							
								#4834
							
							üzenetéreMajdnem 100%, hogy volt ilyen a standard lib-ben. De mindegy, legalább ez is tisztázódott  
- 
			
			  peter9228 aktív tag Sziasztok! 
 Szeretném elkezdeni a fejlesztést Androidra, úgyhogy megismerkednék egy kicsit a Java-val. Kinéztem néhány könyvet, melyik a legjobb választás ezek közül? Vagy ha van jobb, az is jöhet. (Head First-et próbáltam, de nem az én stílusom) (Head First-et próbáltam, de nem az én stílusom)
 Java 7 for Absolute Beginners
 Modern JavaScript: Develop and Design
 Absolute Java 5th Edition
 Már némi programozási ismerettel rendelkezek (C#), de nem lenne baj, ha az alapokról kezdeném.
- 
			
			  M_AND_Ms veterán "Valamiért nekem még mindig az volt a fejemben, hogy az equals nullptr-t dob akkor is, ha a paraméter null." Általában elmondható az equals-re is, hogy úgy működik, ahogy megírták és azt dobja, amit nem kezeltek benne, vagy amit szándékosan dobnak. Amúgy, a legősibb equals az Objectben van, ami nem dob null-t null bemenő esetén, csak kiad egy szép false-t. 
- 
			
			  floatr veterán válasz  WonderCSabo
							
							
								#4828
							
							üzenetére WonderCSabo
							
							
								#4828
							
							üzenetéreAz ArrayList egy equals metódust hív meg. Ez az Integer-ben instanceof-al kezdődik, ezt néztem be Valamiért nekem még mindig az volt a fejemben, hogy az equals nullptr-t dob akkor is, ha a paraméter null. 
- 
			
			  Karma félisten Most decompiláltam az ArrayList.class-t a JDK7-ben (rt.jar): public int indexOf(Object obj) 
 {
 if(obj == null)
 {
 for(int i = 0; i < size; i++)
 if(elementData[i] == null)
 return i;
 } else
 {
 for(int j = 0; j < size; j++)
 if(obj.equals(elementData[j]))
 return j;
 }
 return -1;
 }Nem látom az összeomlást. 
- 
			
			  floatr veterán válasz  WonderCSabo
							
							
								#4825
							
							üzenetére WonderCSabo
							
							
								#4825
							
							üzenetéreJa, instanceof. Nem szóltam  (#4826) Karma nem, az ArrayList-nek saját implementációja van. Legalábbis abban a verzióban ami most kéznél van Amúgy bármikor bejöhet az, hogy a listádba egy null is becsúszik tőled többnyire függetlenül is 
- 
			
			  Karma félisten Nem tudom melyik forrást nézed, de az AbstractList indexOf teljesen korrekt módon kezeli a null elemeket a listában. Illetve nullra is tud keresni. "Márpedig ahol objektumok vannak ott van null is  " "Ez egyáltalán nem biztos. Ha egy objektumlistáról nem lehet feltételezni, hogy benne objektumok vannak, ott azért vannak más bajok is, fejben  
- 
			
			  floatr veterán 
- 
			
			  floatr veterán válasz  S0m30n3
							
							
								#4813
							
							üzenetére S0m30n3
							
							
								#4813
							
							üzenetéreAkkor fogadj el pár tanácsot. Ha bármiféle szoftvert készítesz, kell lennie egy tervnek, hogy hogyan akarod használni. Ebből lesznek funkciók, azt összeírod bárhová, az alapján ki tudod találni -- ha nem adott -- hogy milyen technológiát érdemes használni. Ezekből már ki tudod sakkozni, hogy milyen részletei lesznek az egésznek, adatmodellel együtt. Aztán egyből összerakod az alapokat: projekt egy IDE-ben, adatbázis szigorúan TCP alapon projekthez beállított júzerrel. Ez utóbbi persze nem triviális, mert minden adatbáziskezelő máshogy települ. Az SQL Server domain alapon szeret beléptetni, az Oracle TNS listener-je alapból nem indult, amikor én használtam, a MySQL és PostgreSQL telepítéskor beállítható, a derby/javadb csomagjait sokáig meg sem találtam... ezeket mind tudni kell kezelni. Ha ezekkel megvagy, akkor lehet folytatni minden mást, mert ezek nélkül még teszteket sem igazán lehet faragni, nemhogy komolyabb dolgokat. Ha nem megy a beállítás, akkor addig kell a google-t faggani, amíg meg nem lesz. Érdemes ezekre a dolgokra kifejezetten rágyúrni, és összeírni egy kis doksiba, blogba, mert el fogod felejteni. Érdemes lehet biankó projekteket készíteni, ahol ezek a dolgok már eleve benne vannak, és később elég csak kopipésztelni. Már ha komolyabban érdekel az egész... 
- 
			
			  WonderCSabo félisten Egyetértek, viszont általában primitív tömböt kapunk (pl. egy APItól), ha asList-et akarunk használni, és akkor pedig megette a fene az egészet. Ha mi állítjuk elő a tömböt, akkor oké, bár egy Object tömb költsége jóval nagyobb, mint egy primitívé - igaz, ezek az optimalizációk egyre jobban válnak érdektelenné. hunfatal: Android topikban válaszoltam.  
- 
			
			  fatal` titán válasz  WonderCSabo
							
							
								#4818
							
							üzenetére WonderCSabo
							
							
								#4818
							
							üzenetéreAzért frissülget az, amikor újabb API verzió van. Ez az android studio szerintem valami borzalom, egy error listet nem tudtam kiizzadni belőle, de lehet, hogy én voltam béna, de task listként sem sikerült kirakni a hibákat. Ezt a buborékos borzadványt meg az eclipseben is utáltam már. Nem tudom ki az az idióta, akinek ez valaha eszébejutott, hogy kódolás közben az egeret buzeráljam, hogy megnézzem, hogy mi a baja a fordítónak... 
- 
			
			  Karma félisten válasz  WonderCSabo
							
							
								#4816
							
							üzenetére WonderCSabo
							
							
								#4816
							
							üzenetéreOké, primitív típusokkal tényleg nem működik (mondjuk belegondolhattam volna, hiszen nem is lehet típusparaméternek használni őket  ); viszont objektumokkal igen, és szerintem ez a követendő minta ezesetben a kézzel írt keresőciklusok helyett. ); viszont objektumokkal igen, és szerintem ez a követendő minta ezesetben a kézzel írt keresőciklusok helyett.
- 
			
			  fatal` titán válasz  WonderCSabo
							
							
								#4811
							
							üzenetére WonderCSabo
							
							
								#4811
							
							üzenetéreNetbeanshez is van plugin és nemhiszem, hogy kidobják a kukába az eclipse verziót. Legalábbis nagyon remélem, mert az android studio/intellij egy rettenet szvsz. 
- 
			
			  Karma félisten válasz  caindwan
							
							
								#4814
							
							üzenetére caindwan
							
							
								#4814
							
							üzenetéreHa tömböd van, akkor használhatod az Arrays.asList() metódust ahhoz, hogy olcsón listát készíts belőle, és annak már lesz indexOf metódusa. Azaz pl.: 
 int[] array = new int[] { 5,4,2,5,3,2,5 };
 int pos = Arrays.asList(array).indexOf(3); // <-- 4
 int pos2 = Arrays.asList(array).indexOf(1); // <-- -1
- 
			
			  caindwan aktív tag Heló! 
 Hogyan tudom meg a tömb tagjának az indexét?
- 
			
			  S0m30n3 aktív tag Ezeket végképp nem ismerem, egyetlen órán vettük érintőlegesen az adatbáziskezelést. MSSQL volt a gépemen, gondoltam menni fog, de hát nem jött össze. De most már legalább tudom, hogy az általad írtak is léteznek.  (#4810) floatr : a-a, december végén nekiálltam, alapok már meg voltak, de az adatbázishoz való csatlakozással azóta szívtam, gondoltam már megkérdezem itt. közben meg persze volt jó pár egyéb vizsgám, amikre szintúgy kellett készülni, nem csak ez a tárgyam létezik. Netbeans vs Eclipse témához (ha már véletlen elindítottam  ) : Eclipse-et nem is túlzottan próbáltam ki, mi órán Netbeans-ben dolgoztunk (persze lehetett Eclipse-ben is), de tanulási szakaszra inkább nem próbálkozom mással, órait követem. Amire kell, arra jó, de majd Eclipse-et is tervezem felfedezni. ) : Eclipse-et nem is túlzottan próbáltam ki, mi órán Netbeans-ben dolgoztunk (persze lehetett Eclipse-ben is), de tanulási szakaszra inkább nem próbálkozom mással, órait követem. Amire kell, arra jó, de majd Eclipse-et is tervezem felfedezni.
- 
			
			  Karma félisten válasz  #39560925
							
							
								#4800
							
							üzenetére #39560925
							
							
								#4800
							
							üzenetéreAz elv egyébként: "if it ain't broken, don't fix it". Elsősorban Androidozok, amihez ugye Eclipse vagy előbb-utóbb az iDEA van bejáratva, de ahogy előttem is volt, rengeteg toolchain és egyéb eszköz épít rá. Ebből azért párat használok is a mindennapokban. Szóval nekem nincs se igényem, se betöltendő űröm hozzá. 
- 
			
			  S0m30n3 aktív tag Nagyon szépen köszönöm a válaszokat. Tegnap este még kipróbáltam a jTDS-t, de ott is problémázott különböző dolgok miatt, úgyhogy ma fogtam magam és az adatbázist újracsináltam MySQL-ben (MySQL-t most telepítettem, szóval itt minden beállítást végigbogarászhattam telepítéskor rögtön), ahhoz pedig rögtön csatlakozott is a programom. Szórakoznék én szívesen még mssql-lel is, de szombat 8:00-ra készen kell lennie a programomnak (vizsgafeladat egyetemen (egyéni fejlesztés)), szóval most inkább ezt a megoldást választottam. De egy ráérős időmben mindenképpen működésre akarom majd bírni mssql-t, mert jó lenne tudni miket rontottam el.  Még egyszer köszönöm. Még egyszer köszönöm. 
- 
			
			  floatr veterán válasz  S0m30n3
							
							
								#4798
							
							üzenetére S0m30n3
							
							
								#4798
							
							üzenetéreAhogy Karma is mondja. Engedélyezni kell, hogy adott ip címen meg lehessen szólítani a 1433-as TCP porton, és hogy user/pwd párossal lehessen csatlakozni. Ez alapból le szokott lenni tiltva, és csak win domain becsatlakozást fogad el. Ami a jelenlegi kódodban van, az szintén domain alapú azonosítással futna, de ezek szerint nem tetszik a szervernek a te géped jelenlegi domain-beli állapota, vagy nem vagy jogosult mint domain júzer. Emellett érdemes még egy egyéb felhasználót létrehozni az adatbázisodhoz, aminek jelszót adsz, és nem sa-t használni, mert ha netán élesbe kerül egy fejlesztésed, akkor csúnya problémákat tudsz ezzel magadnak okozni. Azt esetleg javasolnám, hogyha egy kicsit is komolyabb a fejlesztés, akkor legalább egy connection pool-t használj, ha mást nem is. 
- 
			
			  M_AND_Ms veterán válasz  #39560925
							
							
								#4800
							
							üzenetére #39560925
							
							
								#4800
							
							üzenetéreTalán azért, mert egy tapasztalt java fejlesztő mögött sok év van már. Amikor kezdtek (2005 előtt), akkor már az Eclipse egy kiforrott ide volt, míg a Netbeans egy használhatatlan valami. 
 Ezt a hátrányt több éve (2006, 2007 körül) ledolgozta a Netbeans és remek eszközzé vált, de akik ez előtt kezdtek javazni, azok már az Eclipse-nél maradtak.
 Egy jól belakott ide-t nehezen cseréli a fejlesztő.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Battlefield 6
- PlayStation 5
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Bambu Lab 3D nyomtatók
- Xiaomi 15T Pro - a téma nincs lezárva
- Gurulunk, WAZE?!
- Hollow Knight és Silksong
- Egérpad topik
- Filmvilág
- Számtech boltosok memoárjai, azaz amikor kiborulunk...
- További aktív témák...
- Lenovo ThinkBook 16 G6 Ryzen 7 7730U 16GB 768GB SSD FHD+ 1 év garancia
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3781, 100% Akkumulátor
- Új és régi konzolok Okosítása/Softmodoloása, és Szoftveres szintű javítása - RÉSZLETEK A LEÍRÁSBAN
- BESZÁMÍTÁS! Asus H370 i7 8700K 16GB DDR4 512GB SSD RTX 2060 Super 8GB RAMPAGE Shiva A-Data 650W
- Bomba ár! HP EliteBook 845 G11 - Ryzen 5 8540U I 16GB I 512SSD I 14,1" Touch I Cam I W11 I NBD Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest
 
								 
								 
							
 
								 
							 
								 
							 
								 
							 
								
 
							 mod: Lehet, nekiugrok még egyszer
 mod: Lehet, nekiugrok még egyszer 
 
							 
								 
							 
								 
								 
							



 
							 
								
 
							![;]](http://cdn.rios.hu/dl/s/v1.gif) 
  
								

 
								
 
								 
							 
								 
								 
							 
								 
							 
							 
							
 
							 
								

