- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nem kell még temetni: 2 éves órajelcsúcsot döntöttek meg Raptor Lake-kel
- Projektor topic
- Milyen videókártyát?
- Fejhallgató erősítő és DAC topik
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- AMD vs. INTEL vs. NVIDIA
- Először kombinálja a Full HD-t az 1000 Hz-cel egy monitor
- AMD Navi Radeon™ RX 9xxx sorozat
- Speciális kiadású AMD-s alaplapot villantott az ASUS a 20 éves ROG-jubileumra
-
Fórumok
PROHARDVER! - 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 Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena 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
-
alratar
addikt
Ez már rossz. Legyen a JDK1.8 a default VM? Jól van beállítva? Ha editre kattintasz fel vannak sorolva a jarok stb? Csinálj egy új projektet, és nézd meg úgy, mert a Libraries alatt ott kell lennie a JRE System Librarynek.
Így már jó.
Köszönöm szépen a segítséget!
-
alratar
addikt
-
alratar
addikt
Ez érdekes. Nekem jó Java 8-al (is). Mit használsz fordításhoz? Eclipse?
Igen.
-
alratar
addikt
Próbáld úgy, hogy nem a JRE-ben lévő libet használod, hanem a JDK-ban lévőt.
Ugyan az, csak jre helyett jdk-t ír.
-
alratar
addikt
Próbáltam egyedül megoldani, de nem ment, így ide írok remélve, hogy segítetek!
Írtam egy osztályt mely tartalmazza a JFrame-et:
class OwnFrame extends JFrame {Azonban aláhúzza a JFramet és ezt írja ki:
Access restriction: The type JFrame is not accessible due to restriction on required library C:\java\jre8\lib\rt.jar -
alratar
addikt
-
alratar
addikt
-
alratar
addikt
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.
Egy raktár programban, ami új termékek felvételéből, számlázásából, pótlásából áll mi nem életszerű?
-
alratar
addikt
Azért a "direkt van így", az elég erős kifejezés akkor...
Na igen!

-
alratar
addikt
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.
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. -
alratar
addikt
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.
Ja, az direkt van úgy.
-
alratar
addikt
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

Azzal meg mi baj van?
Mármint a +=-vel. -
alratar
addikt
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?

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!
-
alratar
addikt
Igen, és előbb jött erre az a válasz, hogy a termék nevét is vedd bele a termek osztályba (Java osztály nagybetűvel kezdődjön BTW). Így a Vector-od típusparamétere pedig lehet termek.
É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ó.
-
alratar
addikt
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...
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) -
alratar
addikt
Kis magyarázat az előzőhöz: POJO == osztály.
Igazából a POJO nem pontosan ezt jelenti, de Neked most egy osztályt kell deklarálni.
Kicsit utánaolvastam, és azt írja, ha Object típust adok a vektornak, akkor jó lesz!
-
alratar
addikt
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.
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!
-
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?
-
alratar
addikt
Csak megnéztem a dolgot, de érdekes [link]
testArrayListAdd 234.896 ops/msec
testVectorAdd 274.886 ops/msec
testArrayListTraverse 1718.711 ops/msec
testVectorTraverse 34.843 ops/msecvégülis csak majdnem két nagyságrendi különbség van a kettő közt. Elhanyagolható
Majd amikor nem példaprogramokból él meg az ember, és az ügyfél a haját tépi, hogy miért tart 10 percig egy funkció, akkor majd könnyebb lesz megérteni, csak egy többezres kódbázisú projekten újra végigfutni azért elég necces lesz. Pláne ha nyomorultul van megtervezve a struktúra.Kellemes kis különbségek!
-
alratar
addikt
-
alratar
addikt
Üdv.
Beírtam ezt a sort: Vector numbers = new Vector();
De ezt írja ki: Vector is a raw type. References to generic type Vector<E> should be parameterizedMi lehet a baj?
-
alratar
addikt
Sztem a Yahoo nem csak a saját oldalain szolgáltat hirdetéseket, hanem máshol is, akárcsak a Google.
Igaz.
Akkor jobb, ha ráengedek egy malware keresőt! -
alratar
addikt
A hír alapján nem.
De ha jól értem akkor sem kaptam el, ha fenn van a java, feltéve ha nem látogattam meg az oldalt. (Yahoo)
-
alratar
addikt
Mint ahogy a nevében is benne van: Objektum Orientáált Programozás
De szerintem a Java-ból s megtanít sok mindent!
-
alratar
addikt
-
alratar
addikt
-
alratar
addikt
Lehet nem ide kéne, de tudnátok valami jó UML készítőt mondani? (Magyar nyelv előny, de nem feltétel)
-
alratar
addikt
Aham.
Köszönöm mindenkinek a választ!
-
alratar
addikt
Mi a különbség => és >= között?
Ugyanis mikor ezt írtam:
x >= 10 && x <= 20
Semmi gond.Viszont itt:
x => 10 && x <=20
The operator && is undefined for the argument type(s) int, boolean -
alratar
addikt
-
alratar
addikt
Sziasztok.
Jól vettem le, hogy castolni csak egy típust lehet visszafelé?
Double típusra akartam booleant húzni, de nem engedte!
Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - 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 Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena 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?:))
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xbox tulajok OFF topicja
- Elemlámpa, zseblámpa
- Konzol Screenshot
- Battlefield 6
- Nem kell még temetni: 2 éves órajelcsúcsot döntöttek meg Raptor Lake-kel
- Projektor topic
- Milyen videókártyát?
- Vicces képek
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- 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
- Xiaomi Redmi Note 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 Pro Max / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:96%
- Üzleti kategóriás laptopok, asztali számítógépek, alkatrészek,garanciával, ZoliLaptop.hu
- Xiaomi Redmi Note 13 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! VALVE Steam Deck OLED 512GB SSD kézikonzol garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest








