- Milyen belső merevlemezt vegyek?
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kezdő fotósok digitális fényképei
- Milyen processzort vegyek?
- Milyen monitort vegyek?
- Vezetékes FÜLhallgatók
- Házimozi belépő szinten
- Home server / házi szerver építése
Ú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
Elolvastam, onnan vetődött fel a kérdés
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
Mié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 ^^
-
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
Ha 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
Akkor 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.
-
Panthera
őstag
válasz
pokerecske1 #4882 üzenetére
Kö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!
-
Panthera
őstag
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!
-
alratar
addikt
válasz
WonderCSabo #4877 üzenetére
Na igen!
-
alratar
addikt
válasz
WonderCSabo #4868 üzenetére
Igen, 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
Azé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
De 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.
-
alratar
addikt
válasz
WonderCSabo #4866 üzenetére
Ja, az direkt van úgy.
-
WonderCSabo
félisten
válasz
alratar #4865 üzenetére
Az, 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
A 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
-
alratar
addikt
válasz
WonderCSabo #4857 üzenetére
Hops, 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
Ráadásul a termék osztálynak nem igazán lehet Zoldseg konstruktora.
-
Jim-Y
veterán
válasz
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
Itt 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?
-
alratar
addikt
válasz
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
Ha 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.
-
alratar
addikt
válasz
WonderCSabo #4851 üzenetére
Nos, 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
Nem 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...
-
alratar
addikt
válasz
WonderCSabo #4848 üzenetére
Kicsit 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.
-
alratar
addikt
válasz
WonderCSabo #4844 üzenetére
Akkor 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
Csak 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.
-
alratar
addikt
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
Kö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
Tehá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
Majdnem 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)
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
Az 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
Ja, 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
Akkor 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
Azé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
Oké, 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.
-
fatal`
titán
válasz
WonderCSabo #4811 üzenetére
Netbeanshez 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
Ha 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.
-
Karma
félisten
válasz
Oppenheimer #4800 üzenetére
Az 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.
-
floatr
veterán
válasz
S0m30n3 #4798 üzenetére
Ahogy 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
Oppenheimer #4800 üzenetére
Talá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ő. -
modder
aktív tag
válasz
Oppenheimer #4800 üzenetére
mert a netbeans egy sz*r
-
MrSealRD
veterán
válasz
Oppenheimer #4800 üzenetére
Tök ugyanezt akartam kérdezni, ráadásul ugyanígy...
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Honor 200 Pro - mobilportré
- Milyen belső merevlemezt vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Kerékpárosok, bringások ide!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Fotók, videók mobillal
- Le Mans Ultimate
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xbox Series X|S
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Csere-Beszámítás! Gamer PC Számítógép! R9 3900X / RX 6700XT / 32GB DDR4 / 1TB SSD
- BESZÁMÍTÁS! MSI SUPRIM X RTX 4080 16GB videokártya garanciával hibátlan működéssel
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest