- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Xiaomi Watch 5 - kínai időszámítás
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Apple iPhone 13 mini - miért nem veszik elegen?
- Poco F8 Ultra – forrónaci
- Samsung Galaxy S24 - nos, Exynos
- Xiaomi 17 Ultra - jó az optikája
- Google Pixel topik
- Google Pixel 10a – évismétlés
- Fotók, videók mobillal
- Apple Watch
-
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
-
axioma
veterán
Enyém minden frontend backend ahogy van.
Most hogy mondod igen ennek több értelme van. Én teljesen úgy gondolkodtam, hogy a műveleti mezőnek TextField-nek kell lennie, és ha mondjuk becopy-zod a "4*(3+sin(12))"-t akkor nincs gombnyomás ami mentén felosztod a műveleteket meg nyeljen le üres zárójelet ilyenek.
De akkor "csak" össze kellene foltoznom egy reguláris kifejezést amivel szétbontom, és műveleti sorrendben végigmegyek tömbbön.Semmis akkor a kérdés, csak évek óta nem csináltam ilyesmit, és túl későn este akartam hozzákezdeni. Inkább le is tagadom, hogy hozzákezdtem volna megy a letagadom kupacba.
Me'g mindig nem. A szamologepbe NEM copy-zol olyat ami oda van irva (legalabbis az mar nem szamologep hanem mini-excel...). A szamologep a billentyunyomkodasok menten mukodik. Peldaul azt irja be hogy 12 / 17 sin. Ez lesz a sin(12/17). De mi a fenenek kuldened ebben a formaban a backend-nek? Te a nem szamjegy gombnyomasoknal, ha volt uj szam akkor azt es a muveletet kuldod el, es reszeredmenyt vissza. Tehat 12,/ eseten vissza 12, 17 sin-re vissza a sin(12/17). Ha megengeded a precedenciat (es/vagy zarojelet, de ez azert eggyel komplexebb, en elsore megneznem hogy a feladatleiras alapjan muszaj-e, mert a sima szamologep NEM tudja es a legtobb usernek kb. nem is kell), akkor annyi hogy a backend-en kell egy verem is. De a szamologepen tulkepp forditott lengyel, tokenizalt a bemenet (ugye a sin-ra se a 3 betut kell atkuldeni, hanem egy kodot ami azt jelenti nalad hogy a sin gombot nyomtak meg).
-
floatr
veterán
Enyém minden frontend backend ahogy van.
Most hogy mondod igen ennek több értelme van. Én teljesen úgy gondolkodtam, hogy a műveleti mezőnek TextField-nek kell lennie, és ha mondjuk becopy-zod a "4*(3+sin(12))"-t akkor nincs gombnyomás ami mentén felosztod a műveleteket meg nyeljen le üres zárójelet ilyenek.
De akkor "csak" össze kellene foltoznom egy reguláris kifejezést amivel szétbontom, és műveleti sorrendben végigmegyek tömbbön.Semmis akkor a kérdés, csak évek óta nem csináltam ilyesmit, és túl későn este akartam hozzákezdeni. Inkább le is tagadom, hogy hozzákezdtem volna megy a letagadom kupacba.
Na most javíts ki ha rosszul értelmezem, de te egy kifejezés kiértékelőt akarsz írni? Mert az azért nem annyira triviális... bár az amőba sem
-
axioma
veterán
Sziasztok!
Számológépet csinálok, és bajban vagyok a string parsing-al. Minél többet gondolkodok rajta annál jobban túlbonyolítom...
Neten keresve, vagy csak kétszámos megoldásokat találok amiben nincs is parsing, vagy visszadob a 120 ezredik split() pont mentén leíráshoz.
Tudnátok esetleg ajánlani valamilyen referenciát/példát ahol bármi hasonló megvan valósítva? Szóban is bőven elég lenne, csak hogy nagyjából milyen módszerrel lenne szépen megoldva.Egy kis rant: nyakamba varrtak egy számológépet amiben minden alapműveletnek, sin, tan cos, asztali, és webes nézettel aminek azonos adatbázisa van, működjön minden fő számrendszerben, minden alap mértékegységet váltson át, és API-n keresztül menjen a valuta váltás.
Mindeközben mások nyamvadt amőbát csinálnak meg recepkönyvet. String in, save click, és csókolom.Mit szeretnel parse-olni? Ha jol ertem akkor a tied a frontend. Ha meg igy van, akkor a gombnyomasok tulajdonkeppen megcsinaljak neked a tokenizalast, sot tulkepp rogton a kifejezesfat is felepitheted mindig ahogy jon a kovetkezo gombnyomas (nyilvan szamoknal a szamjegyeket erdemes a frontenden osszevarni es 1x konvertalni). De mar csak azert is igy erdemes mukodnie mert a szamologep a reszeredmenyt altalaban mar irja.
Vagy valamit nem ertek jol. -
mobal
nagyúr
Sziasztok!
Számológépet csinálok, és bajban vagyok a string parsing-al. Minél többet gondolkodok rajta annál jobban túlbonyolítom...
Neten keresve, vagy csak kétszámos megoldásokat találok amiben nincs is parsing, vagy visszadob a 120 ezredik split() pont mentén leíráshoz.
Tudnátok esetleg ajánlani valamilyen referenciát/példát ahol bármi hasonló megvan valósítva? Szóban is bőven elég lenne, csak hogy nagyjából milyen módszerrel lenne szépen megoldva.Egy kis rant: nyakamba varrtak egy számológépet amiben minden alapműveletnek, sin, tan cos, asztali, és webes nézettel aminek azonos adatbázisa van, működjön minden fő számrendszerben, minden alap mértékegységet váltson át, és API-n keresztül menjen a valuta váltás.
Mindeközben mások nyamvadt amőbát csinálnak meg recepkönyvet. String in, save click, és csókolom.Problémás kód részletet tudnál szolgáltatni?
-
-Faceless-
őstag
Sziasztok!
Nem javaztam már évek óta, de most egy projekthez csináltam egy Kerteshaz.java fájlt ami benne van a Haz package-ben, és le kellene fordítanom a varos.jar fajllal együtt.javac -cp -g varos.jar Kerteshaz.java
fordításra viszont mindenhol "package does not exist"-et kapok. Nem tudom, hogy én csinálok valami nagyon basic dolgot rosszul, de az éjszaka már megpróbáltam egy Windows-os, egy Linux-os gépen a szükséges java verzióval, google keresésre elolvastam az első 3 oldalnyi találatot, és legalább 10-szer átnéztem elírás után, de semmit nem találtam.Rendkívül hálás lennék, ha valaki tudna esetleg segíteni
Semmi, kár volt éjszakázni.
Ha gondoljátok lehet törölni -
axioma
veterán
Például lenne egy 5x5-ös objektumokból álló tömböm (a pálya), és ki szeretnék osztani a 25 mezőből 5-öt üresnek majd 10-et az 1-es játékosnak, 5-öt a 2-esnek, 5-öt a 3-asnak. Itt az 5, 10, 5, 5 lenne az x, y, z, stb.
Létrehozok egy pályával megegyező méretű segéd tömböt, amit feltöltök az előbbinek megfelelően 5 0-val, 10 1-el, és így tovább.
Ezt a segédtömböt összekeverem, a véletlen mezőkiosztásért, majd egyszerű tömbbejárással átadom az értékeket a pályának.A segédtömb feltöltése lenne a gond, mivel változó számú játékosnak változó számú mezőt kellene kiosztani.
Meg tudnám oldani, hogy tömbbejárásban visszaszámlálom a lehetséges játékosok mezőszámait, de nekem nem tűnik szépnek.Mar nem azert, de ezt kicsit lehetne szerintem egyszerusiteni. En azt tennem, mar a jelenleginek minel kisebb modositasaval, hogy
- megkeverek egy 0..(N-1) tombot
- amikor irom a masik tombbe, akkor dontom el, hogy az az index hanyadik reszbe esik, es az alapjan irom az eredetibe a megfelelo erteket (raadasul ha ilyen szep szamaid vannak, akkor oszthatod ugy hogy az otodere csinalsz egy switch-et, sot akar erre me'g aritmetikai kifejezest is...).
Bar ha megfelelo valoszinusegekkel generalnal es a vegen csak azokat tenned fel, amikbol me'g hianyzik egyebkent ujat "dobsz", az is eleg veletlen tabla kene legyen. -
Lortech
addikt
Itt a konkrét kód DiceWars.java. Még félig sincs kész, de nem tudok emiatt továbbhaladni. Bocsánat a rendetlen kódért, csak először működjön alapon, ha megoldottam a problémát kitakarítok.
#Karma Rendben addig is azokat átírom.
A link nem jött össze, de javítottam. - Karma
57. sorban keletkezik NPE.
palya.palya[seged2] null, null objektum a getJatekosSzam() metódus hívás NPE-t eredményez.
IoMuveletek osztály 6. sorában példányosítod a palya meződet:
public Palya palya = new Palya();Ez önmagában nem inicializálja a palya.palya elemeit Mezőkre. Ezt a palyaEpito metódusban csinálnád, viszont ezt ezen a példányon nem hívod meg.
Azt látom, hogy a Main osztályodban meghívod palyaEpito metódust, de azt egy másik példányon teszed, a 20. sorban:
pj.palyaEpito();Viszont ezt a pj objektumot nem adod át az IoMuveletek osztálynak, hanem IoMuveletek-ben létrehozol egy teljesen új Palya példányt.
-
-Faceless-
őstag
Itt a konkrét kód DiceWars.java. Még félig sincs kész, de nem tudok emiatt továbbhaladni. Bocsánat a rendetlen kódért, csak először működjön alapon, ha megoldottam a problémát kitakarítok.
#Karma Rendben addig is azokat átírom.
A link nem jött össze, de javítottam. - Karma
Köszönöm a javítást!
Tudom, hogy nagy kérés egy ilyen katyvaszban hibát keresni, de jelen pillanatban nem tudok máshol segítséget kérni, és rendkívül hálás lennék. -
Karma
félisten
Sziasztok!
Volna egy kis (elég nagy) problémám. Volna egy ehhez hasonló kódrészlet:
public class Field{
int diceCount, playerNumber;
//get and set methods etc.
}
public class Board{
public Field[] board = new Field[36];
public void boardBuilder(){
for(int i = 0; i < board.length; i++){
board[i] = new Field();
//give value to the Fields
}
}
}
public class IoMethods{
public Board board = new Board();
public void boardPrintOut(){
int helper;
for(int i = 0; i < 6; i++){
for(int j = 0; j < 6; j++){
//The next line is where it gets the Exception
helper = board.board[i*6 + j].getPlayerNumber();
//print part
}
}
}
}Már stack overflow-on is kétszer kétféleképpen rákérdeztem, de csak újra, és újra ugyan azt a választ kapom.
A Board-ban létrehozom a tömbböt, majd incializálom az objektumokat. A Boardon belül kiiratom ott minden rendben van. Az össze objektumnak megvannak az értékei.
Majd kaptam két különböző megoldást:-1- Készítsek egy konstruktort a Board-nak:
Board() {
this.boardBuilder();
}-2- Nem hívtam meg a boardBuildert: (de meghívtam, mert különben a Boardon belül nem tudnék benne értéket tárolni...)
Az első megoldásra a Boardon kívül minden meghívásnál elvesznek a tárolt értékek, és csak 0-val tér vissza.
A második megoldára pedig a példakódon is jelölt módon a tömb végigléptetésekor NullPointerE.-t kapok.Nagyon megköszönném a segítséget, mert kezdek kifutni az időből, és még mindig ilyeneken vagyok fenn akadva.

Pedig teljesen jók a válaszok. Alapvetően a boardBuilder metódus egy koncepcionális hiba, az egészet szüntesd meg, és tedd a konstruktorba a tömb elemeinek inicializálását. Ezzel NPE-d nem lesz több.
Hogy miért veszik el adat, az ebből a kódrészletből nem derül ki. Mivel minden tagváltozód publikus, bárhol elronthatod. Jót tenne a játéknak, ha elkezdenél objektum-orientáltan hozzáállni: az osztályok belső állapota privát, kifelé csak egy interfészt mutatnak, amik az általuk támogatott műveletekből áll.
Például a Board esetén a tömb privát, de van egy műveleted, ami egy X, Y koordinátapárhoz visszaadja az oda illő Fieldet.
-
Lortech
addikt
Sziasztok!
Volna egy kis (elég nagy) problémám. Volna egy ehhez hasonló kódrészlet:
public class Field{
int diceCount, playerNumber;
//get and set methods etc.
}
public class Board{
public Field[] board = new Field[36];
public void boardBuilder(){
for(int i = 0; i < board.length; i++){
board[i] = new Field();
//give value to the Fields
}
}
}
public class IoMethods{
public Board board = new Board();
public void boardPrintOut(){
int helper;
for(int i = 0; i < 6; i++){
for(int j = 0; j < 6; j++){
//The next line is where it gets the Exception
helper = board.board[i*6 + j].getPlayerNumber();
//print part
}
}
}
}Már stack overflow-on is kétszer kétféleképpen rákérdeztem, de csak újra, és újra ugyan azt a választ kapom.
A Board-ban létrehozom a tömbböt, majd incializálom az objektumokat. A Boardon belül kiiratom ott minden rendben van. Az össze objektumnak megvannak az értékei.
Majd kaptam két különböző megoldást:-1- Készítsek egy konstruktort a Board-nak:
Board() {
this.boardBuilder();
}-2- Nem hívtam meg a boardBuildert: (de meghívtam, mert különben a Boardon belül nem tudnék benne értéket tárolni...)
Az első megoldásra a Boardon kívül minden meghívásnál elvesznek a tárolt értékek, és csak 0-val tér vissza.
A második megoldára pedig a példakódon is jelölt módon a tömb végigléptetésekor NullPointerE.-t kapok.Nagyon megköszönném a segítséget, mert kezdek kifutni az időből, és még mindig ilyeneken vagyok fenn akadva.

Ha minden lényeges infó vagy a teljes kód megvolna a kérdésedben, tapasztalt szem fél perc alatt kiszúrná a problémát. Helyette van sok felesleges infó, amit azért nem biztos, hogy sokaknak van ideje kibogozni.
NPE ad neked sorszámot, az alapján elég egyértelmű szokott lenni szemmel veréssel is a probléma, ha mégsem, akkor bele kell állni debuggal, ha kell, visszanézni a stacken a frame-eket, a változóid állapotát. -
Karma
félisten
Például lenne egy 5x5-ös objektumokból álló tömböm (a pálya), és ki szeretnék osztani a 25 mezőből 5-öt üresnek majd 10-et az 1-es játékosnak, 5-öt a 2-esnek, 5-öt a 3-asnak. Itt az 5, 10, 5, 5 lenne az x, y, z, stb.
Létrehozok egy pályával megegyező méretű segéd tömböt, amit feltöltök az előbbinek megfelelően 5 0-val, 10 1-el, és így tovább.
Ezt a segédtömböt összekeverem, a véletlen mezőkiosztásért, majd egyszerű tömbbejárással átadom az értékeket a pályának.A segédtömb feltöltése lenne a gond, mivel változó számú játékosnak változó számú mezőt kellene kiosztani.
Meg tudnám oldani, hogy tömbbejárásban visszaszámlálom a lehetséges játékosok mezőszámait, de nekem nem tűnik szépnek.Rövidtávon megkönnyíted a saját életed, ha a kétdimenziós tömböket elfelejted, helyette egy dimenzióban tárolod a pályád és okosan indexelsz (pl. x,y koordinátákhoz a tömb y*N+x. elemét veszed). Ekkor a tömb feltöltése és megkeverése is triviálissá válik.
Mr Dini: Nem baj, hogy a szintaktikán elakadtál, mert a Thread.sleeppel amúgy is kinyírnád a játékot. Ezért nem is mondom meg, hogy lehetne feloldani az előző fordítási hibát.
Ha Bukkit plugint írsz esetleg, azzal meg lehet oldani ezt helyesen is. Tiszta Java-val nem tudom hirtelen, hogy tudnál egyszerűen visszatérni a UI szálra.
-
zsambek
aktív tag
Sziasztok!
Ismét zátonyra futottam. Most olyan problémám lenne, hogy hogyan lehetne szépen 2 dimenziós tömböt például x, y, z darab különböző konstanssal feltölteni.
Szóval mintha volna egy 6x6-os tömböm, amibe helyezzek el 6 db nullát, 4 db 1-est, stb.A korábban felhozott Fisher-Yates keveréshez használnám. Most hirtelenjében csak olyan megoldás jut eszembe, hogy végiglépkednék a tömbön, visszaszámlálom hány darab van, majd a következőre lépek, viszont amennyi féleképpen fel kellene töltenem, ez nagyon nem tűnik szépnek. Az Arrayfill()-el pedig csak egy konstanssal tudnám.
Minden bizonnyal egyszerű a megoldás, csak megint üresbe váltott az agyam, és nem jut más eszembe.
Előre is megköszönném!

Szia!
Kicsit ki tudnad fejteni, hogy x,y,z kulonbozo konstanssal feltolteni? Illetve, hogy pontosan mi az alap otlet, mert most igy annyira nem latom, hogy mit szeretnel. Esetleg egy peldaval tudnad szimulalni?
-
Karma
félisten
A range változó inputtól függően 28 - 36 - 48, de azt hiszem találtam rá megoldást. Még nem próbáltam ki, de ez meg fog felelni a célnak.
Pályaméret alapján egyenlő számú mező kiosztására lenne használva.public static void main(String[] args) {
Integer[] arr = new Integer[1000];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
Collections.shuffle(Arrays.asList(arr));
System.out.println(Arrays.toString(arr));
}A Collections.shuffle egyébként a helyes megoldás a feladatodra, örülök hogy megtaláltad. Az ebben implementált Fisher-Yates keverés egyenletes, szemben egy tipikus naív megoldással. Például itt van kifejtve, példával.
-
zsambek
aktív tag
Sziasztok!
Kezdő vagyok még java-ban, és lenne pár kérdésem.
Egy egyszerű konzolos játékot írnék, de pár dolgon fenn akadtam.
Próbáltam angolul rákeresni, de vagy nincs rá megoldás, vagy még nem elég jó az angolom ahhoz, hogy megtaláljam, amit akarok.
Szóval az első az lenne, hogy van-e közvetlen mód arra, hogy kiderítsem egy osztálynak hány példányosítása van?
Csinálhatnám egyszerűen, úgy is, hogy létrehozáskor számlálom, csak az érdekelne van-e más megoldás?Illetve a számomra fontosabb, hogy van-e ismétlés nélküli paraméteres random szám generátor?
Erre csak az jutott eszembe, hogy normál paraméterest használok, majd ha az adott tag volt már, akkor újra futtatnám, de erről nekem visít, hogy ronda.Nagyon hálás lennék, ha tudnátok segíteni.

Szia!
Az elsore sajnos nincs otletem, de erosen arra tippelek, hogy legyen egy static int-ed, amit constructor lefutasakor novelsz, es amikor a garbage collector elkapja, akkor pedig csokkentesz.
A random generatorosra viszont pedig sajnos valamilyen hasonlo lesz a megoldas. Hanyszor szeretnel egyebkent generaltatni? Illetve mekkora a range?
Ú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?:))
- exHWSW - Értünk mindenhez IS
- Horgász topik
- Xiaomi Watch 5 - kínai időszámítás
- A fociról könnyedén, egy baráti társaságban
- Szentjánosbogárral venné fel a versenyt a Macbook Neo ellen az Intel
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Nintendo Switch 2
- Apple iPhone 13 mini - miért nem veszik elegen?
- Forza sorozat (Horizon/Motorsport)
- Amazon
- További aktív témák...
- Teljesen ÚJ - iPhone 17 Pro 256 GB Kártyafüggetlen - Fóliás - 0 ciklus - Apple garancia
- Intel Core ULTRA 9 285K +32GB 7600MHz Patriot Viper XTREME 5 DDR5 kit! (Bolti ár: kb 600ezer Ft!)
- RYZEN 7 5700X3D (8 mag/16 szál, 96MB L3 cache)! GARANCIA/SZÁMLA (a Te nevedre kiállítva)!
- Intel Core i3-4160, 16GB DDR3 félkonfig - Alaplap, CPU, RAM, SSD, hűtő
- 2 darab Metalica VIP Superior 2 napos jegy csere 4 darab egynaposra
- Nintendo Switch Okosítás és Szerviz - V1 // V2 // Lite // OLED - Konzolok és tartozékok javítása
- Bomba ár! Lenovo ThinkPad T15 G1 - i7-10G I 16GB I 256GB SSD I 15,6" FHD I Cam I W11 I Gari!
- BESZÁMÍTÁS! Gigabyte Aorus B560M i7 10700 32GB DDR4 1TB SSD RX 6600 XT 8GB ZALMAN i3 Edge EVGA 600W
- Alkalmi vétel! HP Omen 17! I7 12700H / RTX 3070Ti 8GB / 1TB Nvme SSD / 16GB DDR5 !
- HP EliteBook 845 G7 14" Ryzen 5 pro 4650U, 8-16GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




