Hirdetés
-
Ez lehet az Infinix “szupervékony” mobiljában
ma Hot 50 Pro+ névre hallgat a 7 mm-nél vékonyabb készülék, megvan, milyen hardver hajtja.
-
XY6020L Sinilink DC-DC átalakító
lo XY6020L Sinilink DC-DC átalakítóAz ok amiért írok egyszerű, elakadtam, és nem találok információt egy kérdésre, de ezt...
-
Felgyorsítja a hibakeresést az AMD
ph A vállalat Driver Experiments funkciójával gyártói segítség nélkül is jól feltérképezhetők az alkalmazásoldali gondok.
Új hozzászólás Aktív témák
-
andriscs
aktív tag
Hi!
Láttam, hogy nincs igazi Java topic, ezért gondoltam, én nyitok egyet, jó lenne, ha itt kérdezgetnénk Java-s dolgokat. Szóval, hogy megnyissam a sort, lenne is egy kérdésem. Szóval van egy egyszerű Java alkalmazás, é szeretnék beolvasni az inputról. Van két {B}int tpusú változó, és {B}readCharacter(){/B} függvénnyel próbáltam beolvasni, de nem igazán ismeri a függvényt a fordító. Mit kell importálni, hogy működjön?
Kb. ilyen a progi:
class xy{
public static void main(String []args)
{
int x;
int y;
x=readCharacter();
y=readCharacter();
}
}
Ha van ötlet, írjatok!!Andris - http://andriscs.blogspot.com
-
Szenty
tag
Hali!
Ezt máshogy lehet csak megoldani.
Most már túl álmos vagyok a válaszhoz, de addig is, amíg fel nem ébredek, töltsd le az alábbi filet:
ftp://ftp.gdf.hu/Public/Java/javaprog.zip
Ebben lesz egy Extra nevű csomag, abban egy Console nevű osztály. Abban van számbeolvasó rutin (mert amúgy csak stringbe lehetne).
Alszok...
Szenty
[Szerkesztve] -
andriscs
aktív tag
Hi!
És ezzel most mit kezdjek? Mi az input? Mert nem igazán ismer ilyen függvényket, bármit import-álok be. ha xyválozó.readInt() van, akkor nem lehet hívni, ha csak magában readInt() van, az úgy nem elérhető, ha osztályszinten csinálom, az se jó. Szóval ez így nem működik. Kicsit bőveb help?Andris - http://andriscs.blogspot.com
-
faster
nagyúr
válasz Alvin_ti4200 #6 üzenetére
Console.ReadInt() ? A Console nem .NET osztály?
Mod: Ja nem, van Java is. Az Console.readInt();
[Szerkesztve] -
faster
nagyúr
válasz Alvin_ti4200 #8 üzenetére
Ez valami extra osztály, nem a Java része?
-
andriscs
aktív tag
válasz Alvin_ti4200 #6 üzenetére
Hi!
Oké, de akkor ebből a Console osztályból kellene származtatnom az eredeti osztályt, hogy elérjem a Console class metódusait. De ez a Console nem ''gyári'' Java osztály, hiába írnám be, hogy class xy extends Console. Szóval vmi eredeti Sun inputolvasás nincs?
[Szerkesztve]Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Megnéztem, létezik olyan, hogy System.in.read(), és elvileg van olyan verziója, ami int-et kér argumentumnak, de miután megkapja, gondol egyet, és kér még egy int-et, meg egy byte-ot. Pedig van olyan read aminek 1 int argumentum kell. Szerintem be van b*szv* a fordítóm.Andris - http://andriscs.blogspot.com
-
faster
nagyúr
Egy példa:
Bővebben: link
Ebből már bizonyára tudsz parseInt-tel számot csinálni.
Ezért nem emlékeztem erre, mert bonyolult. BufferedReader, InputStreamReader, readLine(); sok ez egyszerre.
[Szerkesztve] -
faster
nagyúr
válasz Alvin_ti4200 #15 üzenetére
Mondom, hogy eredetileg .NET osztály.
-
andriscs
aktív tag
válasz Alvin_ti4200 #16 üzenetére
Hi!
Ez így oké, de majd mikor ZH-t írok Java-ból, akkor mit írjak a lapra? Hogy tessék tanár úr, itt egy link, ezen ellenőrizheti, hogy az általam használt Console osztály létezik, csak nem jegyeztem meg, de amúgy müködik. Megpróbálom ezt a BufferedInputStream.In.Read.Int.Load.Integer.ReadLine.DoWork.Already.Java.Very.Easy.ToUse.This.Input.Read() függvényt, talán működikAndris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Működik a dolog, csak csináltam auto-formázást, és a csodálatos progi átrakott egy {-t, így minden a catch alá került, persze, hogy nem futott le. Ez így elég hosszadalmas dolog, de ha nincs ló, jó a szamár is (én is megnéztem C#-ban van olyan Console-os readInt() ).
[Szerkesztve]Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
HI!
Címkézett vezérlésnél mi a teendő? Elvileg csináltam egy ide: cimkét, majd használtam a break ide parancsot, de hibát jelez, hogy a cimke hiányik. Hova kell rakni?Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Sziasztok!
Új problémával állok elő. Szóval van egy 2 dimenziós tömb, amiben azt vizsgálom, hogy egy adott elemtől indulva az elemet körbevevú 8 irányban találok-e még legalább 3 ugyanolyan elemet (amőba jellegű a dolog). A probléma azt, hogy a tömb belsejében tökéletesen működik a dolog, de a széleken mintha összeadná az összes találatot. Emiatt megcsináltam úgy, hogy minden irányban új változó tárolja a találatot, de így sem működik. Nincs ötletem, hogy mi a hiba. Természtesen a tömböknél figyelni kell, hogy ne lépje túl a tömb határait. Bemásolom ide az adott függvény kódját, hátha valaki rátalála hibára:
public boolean searchEngine() //need to check
{
int clone1=0;
int clone2=0;
int clone3=0;
int clone4=0;
int clone5=0;
int clone6=0;
int clone7=0;
int clone8=0;
for(row=0;row<size;row++)
{
for(col=0;col<size;col++)
{
for(int count=1;row+count<game.length;count++){
if (game[row+count][col].equals(game[row][col])) {
clone1++;
if (clone1>=3) return true;}
else clone1=0;
}
for(int count=1;row-count>-1;count++)
if (game[row-count][col].equals(game[row][col])) {clone2++;
if (clone2>=3) return true;}
else clone2=0;
for(int count=1;col+count<game.length;count++)
if (game[row][col+count].equals(game[row][col])) {clone3++;
if (clone3>=3) return true;}
else clone3=0;
for(int count=1;col-count>-1;count++)
if (game[row][col-count].equals(game[row][col])) {
clone4++;
if (clone4>=3) return true;}
else clone4=0;
for(int count=1;(row+count<game.length) && (col+count<game.length);count++)
if (game[row+count][col+count].equals(game[row][col])) {clone5++;
if (clone5>=3) return true;}
else clone5=0;
for(int count=1;(row-count>-1) && (col-count>-1);count++)
if (game[row-count][col-count].equals(game[row][col])) {
clone6++;
if (clone6>=3) return true;}
else clone6=0;
for(int count=1;(row+count<game.length)&& (col-count>-1);count++)
if (game[row+count][col-count].equals(game[row][col])) {clone7++;
if (clone7>=3) return true;}
else clone7=0;
for(int count=1;(row-count>-1) && (col+count<game.length) ;count++)
if (game[row-count][col+count].equals(game[row][col])) {clone8++;
if (clone8>=3) return true;}
else clone8=0;
}
}
return false;
}
Akinek van ötlete, ne kíméljen!Andris - http://andriscs.blogspot.com
-
Miracle
senior tag
mondjuk azt nem vágom, hogy mit akar az a hosszú függvény amit leírtál, mert a kommenteknél csak a whitespacekkel bántál fukarabbul(jó, ez lehet, hogy a PH), nomeg hajnali 2 van... de abból amit mondtál talán segíthet, hogy ha n*m-es a meződ, akkor (n+2)*(m+2) méretű tömbben tárolod, aminek a szélső soraiban és oszlopaiban nincsen csak 0 vagy az, amivel jelölöd, hogy nincs ott semmi, és okosan írod meg a hozzáférő-függvényeket, úgy, hogy a felhasználó ebből semmit se lásson, tobábbra is n*m-esként kell paraméterezni. azaz amikor kap egy n*mes paramétert, hozzáad egyet egyet.
mondjuk nyilván van elegéns megoldás is a problémára, de ahoz egy szépen igazított kód kellene ide bekommentelve.értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
andriscs
aktív tag
Hi!
Azt hiszem, hogy egy ilyen, viszonylag egyszerű kódot nem kell agyonkommentezni. A lényege az, hogy minden egyes elemtől indulva végigmegy az irányokon. amit mondazs, azt más is ajánlotta már, de nem tudom, hogy miért jobb az, ah a for ciklusok feltételében ez van, hogy a következő elem 0 (ami a keretező tömbelemeket jelentené), vagy hogy ne lépje túl a tömb htaárait. Ennek így is működnie kellene. Amit te ajánlasz, az annyiban változtatná meg a kódot, hogy for(count=1;game[row+count][col]!=''0'';count++). De ez pontosan azt csinálná, mint hogy elér az eredeti tömb széléhez, ami az én feltételeimben van.Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Úgy látom, hogy tényleg el kell megyaráznom, hogy hogyan működik a függvény. Szóval a külső 'for' ciklus a tömb oszlopain lépdes egyesével, az abba beágyazott 'for' pedig a sorokon lépked, magyarul a két 'for' bejárja a 2D-s hálót. A kis 'for' ciklusok az adott elem (game[row][col]) értékét hasonlítják össze egy bizonyos irányban a többi tömbelemmel (tehát mikor pl- game[row+count][col] van, akkor egy soron megy végig addig, amíg el nem éri a tömb szélét). Minden irányban más változó tárolja az azonos elemek számát. Mikor ez a változó elérte a 3-at, akkor van 4 egyforma elem ugyanabban az irányban. Ilyenkor lesz a return true. Egyébként pedig false. Szóval egy elég primitív algoritmus. Csak ezt nem értem, hogy miért nem működik a széleken. Ha valaki rájön a megoldásra, szóljon!Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Látom, hogy senkit sem mozgat az előbbi probléma, most viszont van egy újabb. betöltöttem egy képet így: Image img=Toolkit.getDefaultToolkit().getImage(''bg.jpg''); Ezután egy a metódusban meghívtam ezt: g.drawImage(img,0,0,Color.RED,this);, ennek ellenére csak egy fehér képet kapok. Mi a hiba?Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Azt hiszem, hogy megtaláltam a 2000-es év 101. matematikai problémáját, ugyanis a kód szintaktikailag jó, és véleményem szerint szemantikailag is, csak éppen nem úgy működik, ahogy kellene, de ne, jövök rá, hogy mi okozza az anomáliát. Ha valaki tudna segíteni, annak nagyon örülnék, mindegy, hogy milyen nyelven próbálja ki, nekem még pszeudo-kód is jó, csak valaki nézzen már rá, hogy mi a hiba! Arra már rájöttem, hogy akkor is talál megoldást, ha egy irányban elszórva vannak azonos elemek. De ez még nem magyarázza meg, hogy a derékszögű 4-es sort miért találja meg. Légyszi segítsetek!Andris - http://andriscs.blogspot.com
-
Kr1xX
csendes tag
import java.awt.*;
import java.applet.Applet;
public class Valami extends Applet {
Image background;
public void init() {
background=getImage(getCodeBase(), ''egyKep.gif'');
}
public void paint(Graphics g) {
g.drawImage(background, 0, 0, this);
}
}
Én ezt ha lefordítom, akkor kirajzolja a képement. Próbáld meg lefuttatni te is ezt először, aztán módosítsd kedvedre. Ja értelem szerűen az ''egyKep.gif''-nek léteznie kell abban a könyvárban, ahol a class is van! -
Kr1xX
csendes tag
Nekem is van egy kérdésem. Írtam egy Snake apletet, de annyi bajom van vele, hogy ahhoz, hogy a kígyó az mozogjon, ahhoz animálno kell, tehát azadott területet minig repaint()-elnem kell mozgásonként. Ettől viszont néha villog a kép. Láttam már viszont olyan megoldásokat is, ahol ezt megoldották valahogy. Tud e valaki segíteni, mi ennek a titka?
-
-
Kr1xX
csendes tag
Thx, esetlen ha tudsz dobj egy linet is ! Egyébként ha tudok persze segítek!
-
andriscs
aktív tag
Hi!
Itt egy link, remélem, nem gond, hogy angol:
Bővebben: link
Az én problémámra nem talál senki megoldást? Már el tudom érni, hogy 1 irányban max 3 egységig keressen, de még mindig talál derékszögű dolgokat. Help me!Andris - http://andriscs.blogspot.com
-
Kr1xX
csendes tag
Kössz a linket! Lehet nem értem a problémádat... ha én képeket akarok megjeleníteni mindig így csinálom, igen nekem így működik. Egykét munkám eddig: http://sztyan.uw.hu/Sztyan/java/java.htm
-
Kr1xX
csendes tag
Uhh, volna még egy kérdésem: játékhoz toplistát szeretnék írni. Ehhez pedig azt kellene egoldani, hogy nevet és eredményt kiírni egy fájlba. Ezzel nincs is gond, csupán annyi,hogy apletben nem sikerült megoldanom. Be tudok olvasni TextField-ből egy stringet me minden,de nem tudom, hogy lehetne kiírni egy fájlba (alkalmazásnál tökéetesen működik, de applenél nem megy).
-
andriscs
aktív tag
Hi!
Az ilyen file-kezelésről nem nagyon tudok még dologokat, de asszem itt is valami FileInputStream kell, meg adatcsatornák, ilyesmi. Szerintem nézz körül a Sun honlapján.
Nem tudom, hogy miért nem működik, de kiírja, hogy a paraméterlistában vessző helyett ) kell. Szóval nem megy. Megnézem, hátha találok mást is. Egyelőre a háttér a legkisebb bajom. Fontosabb a hégyzethálóm problémája, amit sehogy se lehet megoldani. Azt hiszem, ez lesz a diplomamunkám: Univerzális hálóprobléma, avagy egy újabb NP probléma, amelyik megoldásra vár.Andris - http://andriscs.blogspot.com
-
Kr1xX
csendes tag
Mert mit kellene a négyzethálóddal kezdeni?
-
Kr1xX
csendes tag
Csak egy őszinte megjegyzés, aztán elkezdek kondolozni is. Így végigolvasva a forráskódod, csodálom, hogy ezt a sok feltételt még a géped felfogja, és lefordítja. Persze nem cseszegetni akarlek, mert már velem is előfordult, hogy nagyon nem jöttek össze a dolgok, aztán jöttek a feltételek egymás után, hogy szűrjem vele a hibákat, kivételeket...DE az kizárt, hogy ezt más is felfogja rajtad kívól, feltéve ha te még érted. Ja meg olyan tömör egy kicsit. Azt javaslom, inkább fogalmazd meg a problémádat pontosabban, azzzal talán rövidebb átláthatóbb és frappánsabb kódokat kaphatsz cserébe.
-
andriscs
aktív tag
Hi!
Kicsit átírtam a kódot, hogy világosabb legyen, tettem bele megjegyzéseket. Természtesen értem, ogy mit csinála kód, a látszólagos kuszasága ellenére eléggé szimpla kód, csak sokat ismétlődik, apróbb változásokkal. Szóval a koncepció az, hogy minden kattintás után a függvény végigfut a tömbelemeken, ls megvizsgálja, hogy van-e valamelyik irányban 4 egyforma jel. A lényeg (tehát a keresés) mindenhol ugyanaz, csak az irány változik, szóval lényegében 8x fut le ugyanaz a kód, nagyon minimális eltéréssel. Ami a for ciklusok feltételeit illeti, az azért annyira bonyolult, mert ugye nem léphetek túl a tömb határain, tehát pl. az 1,1 elemtől nem tudok 4-et balra menni, mert az már kilépne a tömbből. Tehát biztonsági intézkedések miatt van a hosszfigyelés. Ha még valami nem tiszta, akkor magyarázok, de itt az új kód (ez már csak max. 4 egyforma elemet talál):
public boolean searchEngine() //need to check
{
for(col=0;col<size;col++) //oszlopokon lépked
{
for(row=0;row<size;row++) //sorokon lépked
{
for(int count=1;row+count<game.length && count<4;count++) //soron jobbra
{ //ameddig nem éri
if (game[row+count][col]==(game[row][col])) //el a tömb szélét v. 4 jelet
{
clone1++; //ha van egyforma, növeli
if (clone1==3) return true; //min. 3 kell, hogy összesen 4 legyen
}
else clone1=0; //ha nincs egyforma, nullázza a számlálót
}
for(int count=1;row-count>-1 && count<4;count++){ //elemtől balra megy
if (game[row-count][col]==(game[row][col])) //stb...
{
clone2++;
if (clone2==3) return true;
}
else clone2=0;
}
for(int count=1;col+count<game.length && count<4;count++)
{
if (game[row][col+count]==(game[row][col]))
{
clone3++;
if (clone3==3) return true;
}
else clone3=0;
}
for(int count=1;col-count>-1 && count<4;count++)
{
if (game[row][col-count]==(game[row][col])) {
clone4++;
if (clone4==3) return true;}
else clone4=0;
}
for(int count=1;(row+count<game.length) && (col+count<game.length) && count<4;count++)
{
if (game[row+count][col+count]==(game[row][col]))
{
clone5++;
if (clone5==3) return true;}
else clone5=0;
}
for(int count=1;(row-count>-1) && (col-count>-1) && count<4;count++)
{
if (game[row-count][col-count]==(game[row][col])) {
clone6++;
if (clone6==3) return true;}
else clone6=0;
}
for(int count=1;(row+count<game.length)&& (col-count>-1) && count<4;count++)
{
if (game[row+count][col-count]==(game[row][col]))
{
clone7++;
if (clone7==3) return true;}
else clone7=0;
}
for(int count=1;(row-count>-1) && (col+count<game.length) && count<4;count++)
{
if (game[row-count][col+count]==(game[row][col]))
{
clone8++;
if (clone8==3) return true;}
else clone8=0;
}
}
}
return false;
}Andris - http://andriscs.blogspot.com
-
Kr1xX
csendes tag
http://sztyan.uw.hu/Andris.rar
-
Kr1xX
csendes tag
Annyi hozzáfűznivalóm van, hogy tiszta lappal indultam, mert nekem úgy könnyebb. Egy 10x10-es integer mátrixban keres egymás mellett 4 ugyan olyan számot, és ha talál, akkor azt írja ki a konzolra, hogy talált, egyébként, hogy nem. Még annyi megjegyzés, hogy felesleges pl vízszintnél jobbról + balról viszgálgatni, mert ha balról jobbra haladva találunk egymás mellet 4 ugyanolyan értéket, akkor nyílván jobbról balrahaladva is . Ugyanez igaz a többi irányra. Tesztelgessed, állítsd át a mátrix értékeit kölönböző helyeket azonos értékűre, és kerestesd meg vele. Nekem műxött. Próbáld értelmezni a kódot, hátha tudtam segíteni...
-
andriscs
aktív tag
Hi!
Nem tudtam megállni, és teszteltem, úgy néz ki működik. Ahogy átnéztem a kódodat, rájöttem, hogy az enyém túlságosan körülményes, a tied viszont lényegretörő. Az egyik tanáromnak is írtam már, aki azt ajánlotta, hogy vigyázzak, mivel én String tömben tárolom a dolgokat, és a sima == csak referencia, inkább használjak equals() tagfüggvényt, mert az ő szavaival élve a ''programom egy időzített bomba''. Remélem, hogy azzal már rendesen működni fog, most már csak egy alap mesterséges intelligencia kell bele, aztán mehet a dolog.
Apró megjegyzés, hogy rájöttem (mivel ma tanultuk ), hogy hogyan lehet képet betölteni (kicsit eltér az Applet-ek képbetöltésétől): Szóval valahogy így kell:
Image img=Toolkit.getDefaultToolkit().getImage(''kep.jpg'');
utána pedig paint()-ben g.drawImage(img,0,0,this). Apró szépséghiba, hogy a kép nem jelenik meg. Vajon miért nem? Add metódus nincs képekhez, requestFocus() nem kell neki, tehát elvileg már látnom kellene a képet. De mégsem látok semmit. Ötlet?Andris - http://andriscs.blogspot.com
-
-
andriscs
aktív tag
Hi!
Rájöttem, hogy miért nem találta meg az átlókat. Azért, mert a lefele balról jobbra függvény csak a mátrix felső háromszögét járja be, az alsót nem, és ugyanez igaz a másik irányra is. Szóval ezt kellene még megoldani. De az lehet, hogy már holnapra marad.Andris - http://andriscs.blogspot.com
-
Kr1xX
csendes tag
Fúha. Énis éjszaka írtam, szóval biztosan nem hibátlana szoftver, én is inkább kezdő lökésnek szántam. Most per pillanat nincs indőm vele foglalkozni, de majd még átnézem a kódomat. Ha nem sikerül megoldanod a problémát csak szólj... addig is gondolkozom a megodáson, de ezt igazából csak úgy lehetne, ha írom a progit közben. ja egy kis ízelítés a progijaimból ha érdekel: http:sztyan.uw.hu ott van egy menüpont legalul, hogy Java progik amiket én írtam. Nézd meg. AMúgy én sem vagyok még benne a Javaban teljesen, Szeptemner óta tanuklom a nyelvet. Sok sikert!
-
Fko
tag
Sziasztok! Ha Java-val kapcsolatos kérdésetek van, gyertek el a most induló Bővebben: link oldalra és tegyétek fel ott is a kérdést.
UHU Linux forever
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Anker SoundCore 2 Bleutooth hangszoró /// Új // Számla+Garancia
- Samsung Galaxy A51 szép állapotú, független 4/128GB
- Lenovo ThinkPad P16, 12850HX, 16 mag 24 szál, 96 GB RAM, RTX A1000, Garancia 2026 januárig
- Creative Sound BlasterX G6 - Alza Garanciás még 21 hónapig
- Dell Latutide E7280 i5 - i7 7600U, 8GB RAM, 256gb ssd, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen