- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Nagy bemutatóra készül az Oppo
- Szaporodik és sokasodik a One UI 8.5
- Huawei Watch Fit 5 Pro - jó forma
- Okosóra és okoskiegészítő topik
- Rég várt frissítést kap az Android tárcsázója
- Friss információk és képek a OnePlus új órájáról
- Fotók, videók mobillal
- One mobilszolgáltatások
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor 600 – kezes, kitartó, költséges
-
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 Nyomtatók, szkennerek Tabletek, E-bookok 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
-
cigam
titán
Köszi!
Akkor ha jól értem, van egy lista a memóriában ezekről a számokról(-128 és 127 között), és a változók mindig a tartalmuknak megfelelő memóriacímre mutatnak?
Mert akkor így értelmet nyer, hogy a == nem a változó tartalmát, hanem a rámutató memória címet hasonlítja össze.Ez még így is szándékos bonyolításnak tűnik.
-
btraven
őstag
primitív intre a parseInt() konvertál, a mapToInt mit csinál akkor?
-
lanszelot
addikt
-
Ablakos
addikt
-
Ablakos
addikt
Értem, köszi. Objektum változóknál a final csak a referenciát nem engedte módosítani.
Próbáltam nem lambda eseményénykezelővel (anonym osztályossal), de az is elhajtott hasonló hibával.
Az Atomic-ost kipróbálom. -
Ablakos
addikt
-
Csaby25
őstag
Én mind a két implementációt optimalizálnám.
Az elsőnél az a gond, hogy így baromi lassú, F(n)-t pont F(n) időben fogja kiszámolni, tehát lineáris helyett exponenciális lesz a futásidő. Ezen a már kiszámolt értékek eltárolásával lehet segíteni. Próbáld nagyobb értékkel futtatni, azt hiszem, az int-be 44-ig nem csordul túl, de ha átírod long-ra, akkor 89-ig próbálkozhatsz, azt pedig már lehetetlen kivárni.
A másodiknál pedig felesleges lefoglalni egy teljes tömböt, elég tudni mindig a két utolsó értéket:
if (n <= 1)return n;int a = 0;int b = 1;for (int i = 2; i <= n; i++) {int c = a + b;a = b;b = c;}return b;Az van, hogy codingbat-on elkezdtem megoldani a rekurziós feladatokat rekurzióval és ciklussal is (már megvan 17 a 30-ból
), a saját tesztje azt mondta, hogy ok és továbbléptem 
-
Csaby25
őstag
Én mind a két implementációt optimalizálnám.
Az elsőnél az a gond, hogy így baromi lassú, F(n)-t pont F(n) időben fogja kiszámolni, tehát lineáris helyett exponenciális lesz a futásidő. Ezen a már kiszámolt értékek eltárolásával lehet segíteni. Próbáld nagyobb értékkel futtatni, azt hiszem, az int-be 44-ig nem csordul túl, de ha átírod long-ra, akkor 89-ig próbálkozhatsz, azt pedig már lehetetlen kivárni.
A másodiknál pedig felesleges lefoglalni egy teljes tömböt, elég tudni mindig a két utolsó értéket:
if (n <= 1)return n;int a = 0;int b = 1;for (int i = 2; i <= n; i++) {int c = a + b;a = b;b = c;}return b;Köszi
! Én sajnos nem gondoltam arra, hogy belassul csak arra, hogy megoldjam
.
Gondolom még nem vagyok olyan szinten, hogy az optimális megoldást keressem...
Amúgy a tömbös megoldás gyorsaság szempontjából jó, viszont a helyfoglalás miatt tényleg az általad említett jobb.. -
Superhun
addikt
-
Taoharcos
aktív tag
-
bucihost
senior tag
A 110-es sort cseréld ki erre (igy csak másodpercen belül lehet egy usernél ütközés):
String timeStamp = new SimpleDateFormat("YYYY-MM-dd-HH-mm-ss").format(new Date());
String fname = "data/BugReports/" + player.getName() + "-" + timeStamp + ".txt";Egyébként pedig a dátum formátumát úgy állítod be, ahogy szimpatikus. Azért választottam ezt, mert így se pont, se szóköz nem lesz benne.
köszönöm szépen
-
p76
senior tag
Én mindenhol a stream-et igyekszem használni.
Akkor van baj amikor kiderül hogy valami váratlan feltétel alapján abba kellene hagyni a stream-et valahol a mélyben.
Ilyenkor írhatom át for ciklusra. -
Aethelstone
addikt
-
Sirpi
senior tag
Ez a rész háromszor is szerepel: gyum.toString().contains(nev)
Egyrészt a harmadik automatikusan teljesülni fog, elhagyható, egyetlen vizsgálat is elég. Másrészt gondolom az elso gyum helyett az ertekek változót akartad használni, így az értékek.contains(nev) pont az, amire szükséged van, sőt, a toString-ezés miatt ha akár egyetlen betűt írsz be, ami a felsorolt gyümölcsök valamelyikében szerepel, azt is el fogja fogadni, nem néz teljes egyezést. Kicsit egyszerűsítve:
public static void kaloriaKiir(List<Gyumolcs> ertekek) {
Scanner scan = new Scanner(System.in, "ISO-8859-2");
System.out.println("Kérem a gyümölcs nevét: ");
String nev;
while (!ertekek.contains(nev = scan.nextLine())) {
System.out.println("Nem megfelelő név, újat kérek!");
}
System.out.println("Kérem a mennyiséget grammban: ");
int menny = scan.nextInt();
for (Gyumolcs gyum : ertekek) {
if (nev.equals(gyum.Megnevezes)) {
System.out.println(menny + " gramm " + gyum.Megnevezes + " " + gyum.kcal / 100 * menny + " gramm kalóriát tartalmaz.");
}
}
}Miután elküldtem, rájöttem, hogy az ertekek.contains(nev) nem lesz jó, mert egy List<Gyumolcs> sosem tartalmazhat String-et, de ettől még áll, amit írtam, hogy a toString()-ezés nem a jó irány. Például:
private static boolean isNameValid(List<Gyumolcs> ertekek, String nev) {
for (Gyumolcs gyum : ertekek) {
if (gyum.getName().equals(nev)) {
return true;
}
}
return false;
}És akkor ezt a metódust lehet hívni a while ciklusból. A gyum.Megnevezes-t pedig engedelmeddel getter-re cseréltem, nem használunk field-et közvetlenül (és nem is kezdjük a nevét nagybetűvel).
-
Szmeby
tag
és floatr,
tök jó ötletek. Tanulságos, köszi.
-
#68216320
törölt tag
Én anno úgy tanultam, hogy a model-ben kizárólag "nyers" adatok szerepelhetnek. De akkor persze lehet, hogy rosszul emlékszem. Megkoptak az emlékeim sajnos a hosszú kihagyás után.
És akkor az ID hogy nézzen ki? Legyen mondjuk csak getter hozzá, setter nem és a konstruktorban adjak mondjuk az ID-nak értéket kizárólag?
Ha a service rétegben van egy addCar akkor ugye ott még nincs ID-m. Tehát kellene egy ID nélküli konstruktor. Ha DAO-ból jön vissza adat, akkor ott már van ID, tehát kell egy olyan konstruktor is.
Ez így biztonságos? Nem szeretném, ha kivülről lehetne az ID-t variálni. Vagy rossz a gondolatmenet? -
Fáraó
őstag
-
szombatitomi
senior tag
-
szombatitomi
senior tag
A cim-hez készíts egy saját struktúrát, legyen neki String street-je és int houseNumber-e, és definiálj ezen a struktúrán te magad egy rendezést, pl.
Comparator<Address> comparator = Comparator.comparing(Address::street).thenComparingInt(Address::houseNumber);És ezt a comparatort átadva TreeSet konstruktorába pont jó lesz a rendezés.
Köszi a választ, még nem tudtam megoldani, de küzdök vele.

Amúgy azért raktam listába, mert onnan könnyebben ki tudtam írni formázva, ha erre tudsz egy jobb megoldást, azt is szívesen veszem.
-
Aethelstone
addikt
A && és & közötti különbség nem csak hatékonyság kérdése. Egyszerűen másra való. & akkor kell, ha mindenképpen végig akarod tolni a láncot, pl. több érték validálása. Logical vs. Conditional
-
Victoryus
addikt
Köszönöm! Még egy kis segítséget kérnék. Adott a 2005-ös emelt érettségi lottós feladata. Találtam is egy jó oldalt (webotlet.hu) ahol elég szépen össze van szedve a java nyelvről sok minden. Itt fent van a lottós feladat megoldása is.
Amit nagyon nem értek, hogy hogyan számolja meg a páratlan számokat? (6. feladatrész) Ha kiíratom a szamokDb érékeit ezt adja:
4 2 2 6 1 0 2 1 3 0 5 6 5 0 4 3 5 3 4 2 2 1 3 2 2 2 2 4 1 5 5 0 2 4 1 6 5 2 3 2 1 4 3 2 4
De miért? Én mondjuk soronként megszámolnám mennyi a páratlan szám, vagy az összeset beolvasnám és egyesével megvizsgálnám párosak-e, de itt valami mást csinál. No ezt nem értem, hogy mit is?
Ezek az adatok:
37 42 44 61 62
18 42 54 83 89
5 12 31 53 60
1 28 47 56 70
54 56 57 59 71
7 21 33 39 86
21 29 37 48 68... 51 sor van összesen a txt fájlban. -
Regirck
senior tag
public static void main(String[] args) {
boolean draw = true;
do
{
Engine start = new Engine();
start.Dice();
System.out.println("");
if ("You".equals(start.toString())) {
System.out.println("Nyertél!");
draw = false;
} else if ("Computer".equals(start.toString())) {
System.out.println("Vesztettél!");
draw = false;
} else {
System.out.println("Döntettlen!");
}
}
while (draw);
}Köszönöm, de így se jó!
Ezzel a formulával minden esetben ismétlődik, itt pedig úgye csak a döntettlen esetén kellene ismétlés.
Your dice:
---------
| |
| * |
| |
---------
Computer's dice:
---------
| * * |
| * * |
| * * |
---------
You lost!
Vesztettél!
Your dice:
---------
| * * |
| * * |
| * * |
---------
Computer's dice:
---------
| * |
| |
| * |
---------
You won!
Nyertél!
Your dice:
---------
| * * |
| * |
| * * |
---------
Computer's dice:
---------
| * * |
| * |
| * * |
---------
Draw!
Döntettlen!
Your dice:
---------
| * |
| * |
| * |
---------
Computer's dice:
---------
| * |
| |
| * |
---------
You won!
Nyertél!
Your dice:
---------
| * * |
| * * |
| * * |
---------
Computer's dice:
---------
| * * |
| |
| * * |
---------
You won!
Nyertél!
Your dice:
---------
| * |
| * |
| * |
---------
---------BUILD STOPPED (total time: 2 seconds) -
Vicoo
senior tag
-
Sirpi
senior tag
A startGame metódusban ez van:
evaluation(playingDeck, playerBet, delaer, delaer);
A 2. paraméternek playernek kellene lennie. (Egyébként a dealer szót így írják helyesen, légyszi írd át)Igazából sokkal tisztább lenne a kód, ha a player és a dealer két példányváltozó lenne, nem pedig egy metódusban létrehozott belsó változók, amiket mindig továbbadsz paraméterként. Akkor pl. ezt a hibát nem követted volna el.
Az ékezetes enum-okat pedig ne használd (hosszú ő-vel különösen ne).
A 2. helyett a 4. paraméterre gondoltam ( a Player paraméterek közül a 2.)
-
#74220800
törölt tag
Amúgy a feladatom az lenne, hogy saját kezűleg kell implementalni egy priorityqueque-t, minheap struktúrával,
az alábbi interface segitsegevel:/**
* Manages elements within a priority queue. All Elements in this queue must
* implement the Comparable interface. If a element is requested from this data
* structure the smallest one is returned. If there are multiple smallest
* elements, one of them must be returned.
*/
public class PriorityQueue<T extends Comparable<T>> {
/**
* @param maxElements The maximum number of elements this queue can hold.
*/
public PriorityQueue(int maxElements);
/**
* Add e to the queue.
*
* @param e The element which sould be inserted (at the correct position) into the queue.
* @throws IllegalStateException if the queue is already full
*/
public void add(T e) throws IllegalStateException;
/**
* Returns and removes the smallest element in the queue.
*
* @return the smallest element
* @throws IllegalStateException if the queue is empty
*/
public T pop() throws IllegalStateException;
/**
* Return the current number of elements in the queue.
*
* @return the number of elements
*/
public int size();
}Es nem tudom, hogy milyen classot használhatnék e szerint az adatok belső menedzselésére.
A baj az, hogy a beepitett java PriorityQueue is minheapet használ.LinkedList<E> ill. ArrayList<E> szeretnek használni hozza.
Vagy a fenti feladat azt jelenti, hogy a bepitett PriorityQueue-hoz felülirom a pop() es add() metódusokat?
De akkor meg nem tudok indexeket hasznalni, és az algoritmus alapján szerintem mindenképpen olyan kell, ami indexelhető. Nem tudom ...
-
#74220800
törölt tag
Na várj:
Szóval azt mondod, hogy ha a classom első sorában csak az arraylistet húzom be, mondjuk így:
import java.util.ArrayList;
és utána így példányosítok:
PriorityQueue<Integer> intMyQueue = new PriorityQueue<Integer>(10);
Akkor az én classom lesz meghívva és nem a beépített?
-
emvy
félisten
Meg persze lehet ugyabba a package-be rakni, akkor a classloadingtol fugg, hogy melyik lesz hasznalatban.
-
orc88
őstag
-
Chesterfield
őstag
Ú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 Nyomtatók, szkennerek Tabletek, E-bookok 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?:))
- OUTLET DELL PowerEdge R630 rack szerver - 2xE5-2680v4 (28c/56t, 2.4/3.3GHz), 192GB RAM, 4x1G, áfás
- 27% - MSI MAG Coreliquid I240 AIO Vízhűtés!
- Új! Gigabyte Aero X16 UltraSlim Gamer Laptop Ryzen 7 350 32GB 2TB RTX 5060 16" QHD+ 165Hz Garancia
- Shining3D EinScan Pro 2X 3D szkenner
- BESZÁMÍTÁS! LENOVO Ideapad Gaming 3 notebook - i5 11320H 16GB DDR4 512GB SSD RTX 3050Ti 4GB WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


), a saját tesztje azt mondta, hogy ok és továbbléptem 
.

Köszönöm a tippet!


