- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
-
1200 - 1101
12211 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
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 Tabletek, E-bookok Nyomtatók, szkennerek 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
-
Dare2Live
félisten
Ez olyan vicces kérdés, "Javanak pont az az óriási előnye, hogy nem exe hanem jar."
A JAR az átfordított file, amit egy java + filenev parancsal "BÁRMILYEN*" szgépen elindithatsz. Ellenben egy exevel ami max egy géptipus pl x86 és ott is csak egy fajta op rendszer alol hajlandó elindulni.
-
Dare2Live
félisten
Olyan problémám van, hogy a http://java.sun.com/docs/books/tutorial/java/index.html oldalon lévő anyagot sokat akarom forgatni de papirrol.
Letükrözni le tudom hddre, csak ki kéne nyomtatnom és nincs kedvem "oldalanként"
Ha vmi auto matice megoldás van erre kérlek szoljatok.
-
shev7
veterán
javabol nem fogsz exe-t csinalni. A fordito csinalt neked egy jar filet. Azt tudod futtatni. Vagy ha magatol nem megy akkor a java -jar xyz.jar paranccsal.
MOD: igen tudom, lehet javabol is exe-t csinalni...
-
supesz
aktív tag
Egy gyors (szürke) amatőr kérdés. Ha megírtam a kis egysoros Java "programot", akkor azt a IDE (én NetBeans-t raktam fel) kívül, hogyan tudom lefuttatni? Úgyértem C-ben .exe-t generált a fordító, itt mit kell csinálni? Előre is bocs az amatőr kérdésért.
supesz

-
Sianis
addikt
-
shev7
veterán
-
Sianis
addikt
Esetleg egy rövid kódrészlet segítene.
Amíg nincs, addig ilyesmi jut eszembe:
ArrayList ar = ...;
ar.toArray(new String[0]);String tömb tud utazni XML-ben?
Sianis
-
loszerafin
senior tag
Sziasztok!
Urak, hozzátok fordulok végső menedékként, mivel egyszerűen nem találok megoldásd. Nem vagyok egy XML profi, de most XML-es problámám lenne. ArrayList-et vagy más String tárolására képes Java típust kell utaztatnom XML-ben. Ez megoldható valamilyen xsd:complextype-al?
Tehát az a lényeg, hogy String tömböt akarok visszakapni, ha jól tudom akkor Axis MessageElement[]-ben tudom kinyerni. Viszont itt hibát kapok, mivel az ArrayList-tel nem tud mit kezdeni, viszont nekem valamilyen dinamikus tömb megoldásra van szükségem.
Van valakinek ötlete?
Sianis
Esetleg egy rövid kódrészlet segítene.
Amíg nincs, addig ilyesmi jut eszembe:
ArrayList ar = ...;
ar.toArray(new String[0]); -
Sianis
addikt
Sziasztok!
Urak, hozzátok fordulok végső menedékként, mivel egyszerűen nem találok megoldásd. Nem vagyok egy XML profi, de most XML-es problámám lenne. ArrayList-et vagy más String tárolására képes Java típust kell utaztatnom XML-ben. Ez megoldható valamilyen xsd:complextype-al?
Tehát az a lényeg, hogy String tömböt akarok visszakapni, ha jól tudom akkor Axis MessageElement[]-ben tudom kinyerni. Viszont itt hibát kapok, mivel az ArrayList-tel nem tud mit kezdeni, viszont nekem valamilyen dinamikus tömb megoldásra van szükségem.
Van valakinek ötlete?
Sianis
-
loszerafin
senior tag
Sziasztok,
következő "óriási" problémám lenne:
Be akarok hozni egy Java appletet böngészőben (Firefox), de a munkahelyi hálózat HTTP proxy-t használ a webes elérésre, ami magában nem lenne gond, viszont a Java alkalmazás (itt konkrétan a chat.hu kliense) nem kapcsolódik, a Java console pedig a következő hibaüzenetet dobja ki úgy 10 másodpercenként:
java.io.IOException: Action timed out[soc:443]
at jworx.client.n.a(Unknown Source)
at jworx.client.J.a(Unknown Source)
at jworx.client.next.p.<init>(Unknown Source)
at jworx.client.next.EmbeddedApplet.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)ahol a "soc" szám mindig más. Próbáltam belőni a proxy-t az XP Control Panel / Java / Network-nél, de eredmény ugyanez. Ugyanakkor a böngészőben a proxy elsőként mindig kér user nevet és jelszót, amit be szoktam neki adni, viszont a Java már nem kéri csatlakozáskor. Lehet, hogy ez a gond....vagy mi lehet még ?
Előre is kösz a segítséget !
[OFF]
Kipróbáltam a chat.hu-t és a java applet a 251-shosts.hostoffice.hu gép 23-as portjára kapcsolódik. Mivel a helyi hálótokon szigorú szabályok kötik a netezést (jelszavas proxy),
gondolom, a 23-as portra nem mehettek ki.Esetleg kérdezd meg a helyi rgazdát. Vagy olvasd el a helyi számítógép használati szabályzatot, abban benne kell lennie minden tiltásnak.
[/OFF] -
Pxs
aktív tag
Sziasztok,
következő "óriási" problémám lenne:
Be akarok hozni egy Java appletet böngészőben (Firefox), de a munkahelyi hálózat HTTP proxy-t használ a webes elérésre, ami magában nem lenne gond, viszont a Java alkalmazás (itt konkrétan a chat.hu kliense) nem kapcsolódik, a Java console pedig a következő hibaüzenetet dobja ki úgy 10 másodpercenként:
java.io.IOException: Action timed out[soc:443]
at jworx.client.n.a(Unknown Source)
at jworx.client.J.a(Unknown Source)
at jworx.client.next.p.<init>(Unknown Source)
at jworx.client.next.EmbeddedApplet.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)ahol a "soc" szám mindig más. Próbáltam belőni a proxy-t az XP Control Panel / Java / Network-nél, de eredmény ugyanez. Ugyanakkor a böngészőben a proxy elsőként mindig kér user nevet és jelszót, amit be szoktam neki adni, viszont a Java már nem kéri csatlakozáskor. Lehet, hogy ez a gond....vagy mi lehet még ?
Előre is kösz a segítséget !
-
Lorienel
csendes tag
Sziasztok,
Olyan valaki segítségét kérném aki az alábbi kis alkalmazás megírását elvállalná.
MySqlben létrehozni egy táblát
Java-ban megírni a programot (tábla, gombok, menü)
Lehessen lekérdezni adatokat a táblázatból,
Lehessen felvinni rekordokat (új adatokat)
Lehessen módosítani vagy törölni a táblázatbólAki tudna segíteni az írjon egy privát üzit, hogy a többit megbeszélhessük (pontos részletek, díjazás stb).
-
Dr. Romano
veterán
Igen így csináltam, szabályosan lefordítottam (az nincs a képen, mert utánna nyomtam egy cls-t) és utánna -ahogy írod is- indítottam volna a programot és ez jött be.
A suliban is ugyanígy csináltam mindent és ott vígan indult
-
Lortech
addikt
LAssan ébredezek no, és már el is olvastalak, nem csak a képet néztem.

Szóval elvileg már lefordítottad, gyakorlatilag meg vagy nem sikerült, vagy nincs a megfelelő könyvtárban van, vagy egyéb.
-
Lortech
addikt
Sziasztok!
Feltelepítettem a java fejlesztői környezetet (a netbeans-es verziót) azonban van egy kis gondom.
A programot szabályosan lefordítom, majd indítanám és ezt írja ki
Mi a gond?
Nem fordítod le szabályosan, mert a java.exe a futtatórendszer, nem a fordító.
Szóval javac elso.java, aztán java elso. -
Dr. Romano
veterán
Sziasztok!
Feltelepítettem a java fejlesztői környezetet (a netbeans-es verziót) azonban van egy kis gondom.
A programot szabályosan lefordítom, majd indítanám és ezt írja ki
Mi a gond?
-
nukewar
tag
-
g4dg3t
senior tag
-
btotyi
tag
-
nukewar
tag
van valakinek tippje arról, hogyan lehet egy Map-ból a kulcsot kiszedni?
-
PazsitZ
addikt
Tehát fordítva kell kiírni? Vagy ténylegesen meg kell fordítani magát a tömböt.
Első esetben simán legnagyobbtól haladsz vissza.Ciklus előtt átadod i-nek a tömb maxméretét vagy 0-át.
if (elolrol==1){ i=0;}
else{i=[I]tombmaxertek[/I];}while cilkuson belül teszel egy változót (elolrol), ami meghatározza előlről vagy a végéről írja ki?
és eszerint csökkented vagy növeled a tömbcímet. Így egy ciklusban működik a dolog csak egy plusz paramétert kell átadni:if (elolrol==1){ i++;}
else{i--;}Ha ténylegesen meg kell fordítani akkor elsőt cseréled az utolsóval, másodikat utolsó előttivel, s így tovább amig nem érsz két szomszédos elemhez avagy 1 elemhez (páros/páratlan elemszám)
Ebben az esetben a kiírás meg mivel ténylegesen fordul a tömb tartalom sima. -
nagykovi
csendes tag
Sziasztok.
Megin kellene egy kis segitség
Ez lenne a feladat: Adott egy egész tömb. Írja ki a tömböt, majd fordítsa meg a tömb elemeinek a
sorrendjét és írja ki újra. A tömb kiírásához használjon egy metódustA metódusban a tömb megforditása nem megy...
Köszi előre is a segitséget -
lakisoft
veterán
-
Peetry
senior tag
-
lakisoft
veterán
-
Sianis
addikt
Netbeansben a Run menü Run file (Shift + F6)-tal nekem megy (NetBEans 6.0 beta 2)
Már megjelent a stabil Netbeans 6.0.
Sianis
-
Peetry
senior tag
Netbeansben a Run menü Run file (Shift + F6)-tal nekem megy (NetBEans 6.0 beta 2)
ok de a kérdés jbuilder 2007-re vonatkozott.
-
loszerafin
senior tag
végülis a jpx inportálását megoldottam a sokumentáció segítségével. További kérdés a source/designe nézet. Ahogy néztem, netbeansben is akkor jelentek meg a gombok, ha olyan forrást húztam be, ami grafikus. Viszont újabb kérdés, hogy ha csak simen open file-al nyitok meg *.java fájlt, és nem project-be húzom, akkor hogyan lehet fordítani és futtatni? Erre nem sikerült sehogyse rájönnöm. Sorry az amatőr kérdésekért, de perpill ilyenen akadok ki

Netbeansben a Run menü Run file (Shift + F6)-tal nekem megy (NetBEans 6.0 beta 2)
-
Peetry
senior tag
Hi!
Van egy olyan problémám, hogy elkeztem javat tanulni. a könyv amit vettem jbuilder 8at használ, nyilván sejtitek melyik könyvről van szó
namost ugyebár ez elég régi verzió, nem is találtam sehol. Viszont arra se nagyon találtam infot, hogy mi az utódja. a turbo jbuilder 2007 lenne? mert ezzel nem tudom megnyitni a jpx projectfájlokat. A másik hogy amiket néztem pl screenshot a 8.0-ról ott van source és designe fül? ezeket hogy lehet 2007 alatt előhozni? Néztem netbeans-t is. Kezelő felületre a 2007 tetszik legjobban. Tudom hogy igazából tökmind1, mert alapoknak bőven sok mindegyik. esetleg 8.0-t lehet még vhonna tölteni? köszi előre isvégülis a jpx inportálását megoldottam a sokumentáció segítségével. További kérdés a source/designe nézet. Ahogy néztem, netbeansben is akkor jelentek meg a gombok, ha olyan forrást húztam be, ami grafikus. Viszont újabb kérdés, hogy ha csak simen open file-al nyitok meg *.java fájlt, és nem project-be húzom, akkor hogyan lehet fordítani és futtatni? Erre nem sikerült sehogyse rájönnöm. Sorry az amatőr kérdésekért, de perpill ilyenen akadok ki

-
Peetry
senior tag
Hi!
Van egy olyan problémám, hogy elkeztem javat tanulni. a könyv amit vettem jbuilder 8at használ, nyilván sejtitek melyik könyvről van szó
namost ugyebár ez elég régi verzió, nem is találtam sehol. Viszont arra se nagyon találtam infot, hogy mi az utódja. a turbo jbuilder 2007 lenne? mert ezzel nem tudom megnyitni a jpx projectfájlokat. A másik hogy amiket néztem pl screenshot a 8.0-ról ott van source és designe fül? ezeket hogy lehet 2007 alatt előhozni? Néztem netbeans-t is. Kezelő felületre a 2007 tetszik legjobban. Tudom hogy igazából tökmind1, mert alapoknak bőven sok mindegyik. esetleg 8.0-t lehet még vhonna tölteni? köszi előre is -
lakisoft
veterán
ciklus n-szer {
szoveg = szoveg_utolso_karaktere + szoveg_karakterei_elsotol_az_utolso_elottiig
kiir (szoveg)
}ezen még azért kell heggeszteni hogy működjön, de legalább az algoritmus megvan

-
loszerafin
senior tag
ciklus n-szer {
szoveg = szoveg_utolso_karaktere + szoveg_karakterei_elsotol_az_utolso_elottiig
kiir (szoveg)
} -
nagykovi
csendes tag
Valaki le tudná irni ennek a megoldását?
Adott egy szöveg és egy n egész szám. Forgassa el a szoveget n*.
pl.
n=3
Hello world
dHello worl
ldHello wor
...
Köszi előre is, elég srügős lene -
Zulfaim
csendes tag
kicsit haladtam, most az a baj, hogy nem mindegyik egérkattintást észleli.
public class Labda extends Applet implements Runnable, MouseListener
{
private int w,h;
private double dx, dy;
private int x, y;
private Graphics offGraphics; // háttérgrafika
private Image offImage; // háttérkép
private Image labda;
private Thread animator=null;
boolean stopFlag;
public void init(){
offImage=createImage(400,400); // a háttérkép létrehozása
offGraphics=offImage.getGraphics();
labda=getImage(getDocumentBase(),"labda.jpg");
x=200;
y=200;
// indulási pozíció
dx=0;
dy=10; // indulási lépéstáv
setSize(400,400);
setBackground(Color.white);
addMouseListener(this);
}
public void start() { // a szál indítása
animator=new Thread(this);
stopFlag=false;
animator.start();
}
public void run() {
while(true) {
if (stopFlag) // ha megállt az animáció
break;
try {
Thread.sleep(50); // 0,2 másodperces várakozás
}
catch (InterruptedException ex){}
w = labda.getWidth(this); // a labda méretei
h = labda.getHeight(this);
if ((x+w+dx)>400 || (x+dx)<0)
dx=-dx * 0.6; // x irányváltás
if ((y+h+dy)>400 || (y+dy)<0)
dy=-dy * 0.6; // y irányváltás
// léptetés
x += dx;
y += dy;
dy += 1.2;
repaint();
}
}
public void stop() { // a szál törlése
stopFlag = true;
animator = null;
}
// kettőspuffer
public void paint(Graphics g) {
int h = getSize().height;
int w = getSize().width;
offGraphics.setColor(Color.white);
offGraphics.fillRect(0,0,w,h); // a rajzlap törlése
offGraphics.drawImage(labda,x,y,this);
g.drawImage(offImage,0,0,this);
}
// egérkattintáskor módosítjuk a lépéseket - irányváltás
public void mouseClicked(MouseEvent e){
/*int dxx,dyy;
dxx = e.getX()-x;
dyy = e.getY()-y;*/
if ( Math.sqrt ( Math.pow (e.getX() - (x + w/2), 2) + Math.pow (e.getY() - (y + w/2), 2)) < w)
{
dy += -20;
dx += (x+w/2) - e.getX();
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e) {}
} -
Zulfaim
csendes tag
Szevasztok!
Egy dekázós appletet szeretnék írni, de valahogy nem sikerül megvalósítanom a következőket:
-legyen gravitáció
-ha a labda bal oldalára kattintok, akkor jobbra, ha a jobb oldalára kattintok akkor balra elpattanjonEddig így néz ki a kódom:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Labda extends Applet implements Runnable, MouseListener
{
private int dx,dy,w,h;
private int x, y;
private Graphics offGraphics; // háttérgrafika
private Image offImage; // háttérkép
private Image labda;
private Thread animator=null;
boolean stopFlag;
public void init(){
offImage=createImage(400,400); // a háttérkép létrehozása
offGraphics=offImage.getGraphics();
labda=getImage(getDocumentBase(),"labda.jpg");
x = y = 150; // indulási pozíció
dx =0;
dy = 20; // indulási lépéstáv
setSize(400,400);
setBackground(Color.white);
addMouseListener(this);
}
public void start() { // a szál indítása
animator=new Thread(this);
stopFlag=false;
animator.start();
}
public void run() {
while(true) {
if (stopFlag) // ha megállt az animáció
break;
try {
Thread.sleep(100); // 0,1 másodperces várakozás
}
catch (InterruptedException ex){}
w = labda.getWidth(this); // a labda méretei
h = labda.getHeight(this);
if ((x+w+dx)>400 || (x+dx)<0)
dx=-dx; // x irányváltás
if ((y+h+dy)>400)
dy=-dy;
if ((y+dy)<0)
{
dy=-dy; // y irányváltás
y-=10;
}
// léptetés
x += dx;
y += dy;
repaint();
}
}
public void stop() { // a szál törlése
stopFlag = true;
animator = null;
}
// kettőspuffer
public void paint(Graphics g) {
int h = getSize().height;
int w = getSize().width;
offGraphics.setColor(Color.white);
offGraphics.fillRect(0,0,w,h); // a rajzlap törlése
offGraphics.drawImage(labda,x,y,this);
g.drawImage(offImage,0,0,this);
}
// egérkattintáskor módosítjuk a lépéseket - irányváltás
public void mouseClicked(MouseEvent e){
int dxx,dyy;
dxx = e.getX()-x;
dyy = e.getY()-y;
if((Math.abs(dxx)<=w/2) && (Math.abs(dyy)<=h/2))
{
y += -30;
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e) {}
} -
PazsitZ
addikt
Fogod végigolvasod a sorokat azzal a feltétellel, h: if (min>tomb[x][y+1]) min=tomb[x][y1];
Ha végigértél a tömb utolsó helyére szúrd be a legkissebb elemet.
Azután vizsgáld meg a sorok utolso elemeit ezzel a feltétellel: if (max<tomb[x+1][utolso]) max=tomb[x+1][utolso]; -
nagykovi
csendes tag
Sziasztok.
Egy kis segitséget szeretnék kérni.
Az lenne a "feladat" h egy n*n-es táblázat sorminimumainak maximumát irja ki. (szóval venni minden sorban a legkisebb elemet, azok közül pedig a legnagyobbat).
Köszönöm előre is. -
lakisoft
veterán
-
PazsitZ
addikt
-
lakisoft
veterán
Tudok ajánlani egy-két jó Java könyvet?
-
fLeSs
nagyúr
Nem vagyok jártas ezen a téren, de elképzelhetőnek tartom, hogy a nem pc alapú szerverek piacán más JVM-ek is döntő szerephez jutnak.
Abban biztos vagyok, hogy pc-ken a Win XP és (M$ JVM vagy SUN JVM) felállás a tipikus.Ha pedig tesztelni akarsz, akkor a legtipikusabb felállásokat kell megnézned, esetleg érdekességképpen egy-egy különlegességet megmutatni.
(Pl. ilyenre gondolok: a userek 99%-a Win XP-t használ M$ JVM-mel, a tesztprogramod 10 egység alatt fut le. De ha Brutál OS-t használnának akkor Grgth cég JVM-jével 2 egység alá is mehetnek...)Gondolom, ide már eljutottál:
[link]Még nem, de ha már belinkelted akkor átfutom. Köszi.
-
loszerafin
senior tag
Nem vagyok jártas ezen a téren, de elképzelhetőnek tartom, hogy a nem pc alapú szerverek piacán más JVM-ek is döntő szerephez jutnak.
Abban biztos vagyok, hogy pc-ken a Win XP és (M$ JVM vagy SUN JVM) felállás a tipikus.Ha pedig tesztelni akarsz, akkor a legtipikusabb felállásokat kell megnézned, esetleg érdekességképpen egy-egy különlegességet megmutatni.
(Pl. ilyenre gondolok: a userek 99%-a Win XP-t használ M$ JVM-mel, a tesztprogramod 10 egység alatt fut le. De ha Brutál OS-t használnának akkor Grgth cég JVM-jével 2 egység alá is mehetnek...)Gondolom, ide már eljutottál:
[link] -
fLeSs
nagyúr
Gondolom, az M$ és a SUN a legelterjedtebb.
Ha csak procit akarsz tesztelni és csak "asztali" gépekbe valót, szerintem mindegy, melyik JVM-et használod, csak az összes tesztedben legyen ugyanaz az oprendszer, ugyanaz a jvm és vagy csak appleteket nézz, vagy csak futtatható alkalmazásokat.
Ha appletekkel tesztelsz, maradj egyetlen böngésző egyetlen változatánál.Miért, szervereknél mást kéne használni?
-
loszerafin
senior tag
Értem amit írsz.
Nem tudok róla, hogy lenne külön Inteles és AMD-s Java, legalábbis a Sun oldalán nem találtam, csak egy fajtát.
Namost én nem JVM-eket akarok tesztelni, hanem procikat.
De ezekszerint ennek csak akkor van értelme, ha többféle JVM-et használok? Maradjunk csak egynél. Így is millió tesztet kell még megnézni procinként.
Melyik a legelterjedtebb? Gondolom a Sun-é?...Gondolom, az M$ és a SUN a legelterjedtebb.
Ha csak procit akarsz tesztelni és csak "asztali" gépekbe valót, szerintem mindegy, melyik JVM-et használod, csak az összes tesztedben legyen ugyanaz az oprendszer, ugyanaz a jvm és vagy csak appleteket nézz, vagy csak futtatható alkalmazásokat.
Ha appletekkel tesztelsz, maradj egyetlen böngésző egyetlen változatánál. -
fLeSs
nagyúr
"Adott proci jó-e java-ban", szerintem ez a kérdés maga megér egy kis boncolgatást.
Minden nagyon szvsz, amit írni fogok:
Egy java programmal nem a processzort próbálod ki, hanem elsősorban a JVM-et, hiszen a JVM-en/ben/on fut a program.
Ha ez igaz, akkor a kérdés így hangzana: "Mennyire jól fut egy adott JVM egy adott processzoron?"
Na most ha ezt továbbgondolom, akkor egy JVM akkor passzolna egy processzorhoz a legjobban, ha arra az adott processzorra lenne lefordítva, így a JVM ki tudná használni az adott processzor specialitásait.
Ha ez egyáltalán lehetséges, akkor a következménye az lenne, hogy JVM-et nem "x86"-os processzorhoz töltenénk le, hanem pl. AMD Athlon XY-hoz vagy Intel Core 2 duo XY-hoz vagy VIA akarmi ZW-hez.
Viszont erre utaló jeleket nem találok. Persze lehet, hogy a java parancs megvizsgálja a gépet, és a processzorhoz legjobban passzoló JVM-et indítja el...
Ellenben léteznek különböző JVM-ek (MIcrosoft, SUN, de még van pár másik is) amiken lefogadom, hogy egy adott java program különböző sebességgel fut le. Tehát azt mérhetnénk, hogy egy adott java program melyik JVM-en fut le a leggyorsabban.
Felhívnám a figyelmed, hogy mindaz amit írtam, merő spekuláció...
Értem amit írsz.
Nem tudok róla, hogy lenne külön Inteles és AMD-s Java, legalábbis a Sun oldalán nem találtam, csak egy fajtát.
Namost én nem JVM-eket akarok tesztelni, hanem procikat.
De ezekszerint ennek csak akkor van értelme, ha többféle JVM-et használok? Maradjunk csak egynél. Így is millió tesztet kell még megnézni procinként.
Melyik a legelterjedtebb? Gondolom a Sun-é?... -
loszerafin
senior tag
Üdv.
Mit gondoltok, ez a teszt [link] nyújt számotokra vmilyen infót arra vonatkozólag, hogy egy adott proci jó-e Javaban? Illetve itt egy másik [link], melyik jobb? Van értelme ilyenekkel procit tesztelni? A végeredmény mond nektek vmit?
Azt látom, hogy ezek sajna nem használják ki a többprocis működést, ha ilyenről tudtok, akkor légyszi szóljatok.
Előre is köszi."Adott proci jó-e java-ban", szerintem ez a kérdés maga megér egy kis boncolgatást.
Minden nagyon szvsz, amit írni fogok:
Egy java programmal nem a processzort próbálod ki, hanem elsősorban a JVM-et, hiszen a JVM-en/ben/on fut a program.
Ha ez igaz, akkor a kérdés így hangzana: "Mennyire jól fut egy adott JVM egy adott processzoron?"
Na most ha ezt továbbgondolom, akkor egy JVM akkor passzolna egy processzorhoz a legjobban, ha arra az adott processzorra lenne lefordítva, így a JVM ki tudná használni az adott processzor specialitásait.
Ha ez egyáltalán lehetséges, akkor a következménye az lenne, hogy JVM-et nem "x86"-os processzorhoz töltenénk le, hanem pl. AMD Athlon XY-hoz vagy Intel Core 2 duo XY-hoz vagy VIA akarmi ZW-hez.
Viszont erre utaló jeleket nem találok. Persze lehet, hogy a java parancs megvizsgálja a gépet, és a processzorhoz legjobban passzoló JVM-et indítja el...
Ellenben léteznek különböző JVM-ek (MIcrosoft, SUN, de még van pár másik is) amiken lefogadom, hogy egy adott java program különböző sebességgel fut le. Tehát azt mérhetnénk, hogy egy adott java program melyik JVM-en fut le a leggyorsabban.
Felhívnám a figyelmed, hogy mindaz amit írtam, merő spekuláció...
-
fLeSs
nagyúr
Üdv.
Mit gondoltok, ez a teszt [link] nyújt számotokra vmilyen infót arra vonatkozólag, hogy egy adott proci jó-e Javaban? Illetve itt egy másik [link], melyik jobb? Van értelme ilyenekkel procit tesztelni? A végeredmény mond nektek vmit?
Azt látom, hogy ezek sajna nem használják ki a többprocis működést, ha ilyenről tudtok, akkor légyszi szóljatok.
Előre is köszi. -
loszerafin
senior tag
Csak a teljesség kedvéért:
az intValue() nem megy primitív típussal, azaz :int i;
Double d = 6.0; //double d=6.0; nem jó
i=d.intValue(); -
PazsitZ
addikt
Hmm, köszi.
Közben mutatott haver egy egyszerűbb megoldást is:i=(int)(szam);
résszel simán alkalmazható tipuskényszerítés
, hogy én erre nem gondoltam
. -
Lortech
addikt
Kellene egy kis segítség, mert nem értem miért nem működik ez a kódrész/miniprogram.
Nem tudok rájönni, hogy rosszul importálom vagy mi a baj?
A függvényt itt találtam: [link]import static java.lang.Double.*;
public class test {
public static void main ( String[] args ){
double szam;
int i;
szam=6.0;
i=intValue(szam);
}
}Hibának ezt írja:
test.java9: cannot find symbol
symbol : method intValue(double)
location : class test
i=intValue(szam);
^Mivel az intValue csak úgy lóg a levegőben. Nem statikus metódus, hanem példány szintű. Ezért példány.intValue-vel lehet hívni. Nincs paramétere sem, mivel a double példány értékét adja vissza intben.
-
PazsitZ
addikt
Kellene egy kis segítség, mert nem értem miért nem működik ez a kódrész/miniprogram.
Nem tudok rájönni, hogy rosszul importálom vagy mi a baj?
A függvényt itt találtam: [link]import static java.lang.Double.*;
public class test {
public static void main ( String[] args ){
double szam;
int i;
szam=6.0;
i=intValue(szam);
}
}Hibának ezt írja:
test.java9: cannot find symbol
symbol : method intValue(double)
location : class test
i=intValue(szam);
^ -
kalló
aktív tag
Innen:
Ez segíthet
(egy div-et pozicionálhatsz)function getRefToDiv(divID,oDoc) {
if( !oDoc ) { oDoc = document; }
if( document.layers ) {
if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
//repeatedly run through all child layers
for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
//on success, return that layer, else return nothing
y = getRefToDiv(divID,oDoc.layers[x].document); }
return y; } }
if( document.getElementById ) {
return document.getElementById(divID); }
if( document.all ) {
return document.all[divID]; }
return false;
}
function moveDivTo(x,y) {
myReference = getRefToDiv( 'mydiv' );
if( !myReference ) { return; }
if( myReference.style ) { myReference = myReference.style; }
var noPx = document.childNodes ? 'px' : 0;
myReference.left = x + noPx;
myReference.top = y + noPx;
}Ha a célod animáció, akkor :
köszönöm a linkek nagyon jók

-
loszerafin
senior tag
Innen:
Ez segíthet
(egy div-et pozicionálhatsz)function getRefToDiv(divID,oDoc) {
if( !oDoc ) { oDoc = document; }
if( document.layers ) {
if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
//repeatedly run through all child layers
for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
//on success, return that layer, else return nothing
y = getRefToDiv(divID,oDoc.layers[x].document); }
return y; } }
if( document.getElementById ) {
return document.getElementById(divID); }
if( document.all ) {
return document.all[divID]; }
return false;
}
function moveDivTo(x,y) {
myReference = getRefToDiv( 'mydiv' );
if( !myReference ) { return; }
if( myReference.style ) { myReference = myReference.style; }
var noPx = document.childNodes ? 'px' : 0;
myReference.left = x + noPx;
myReference.top = y + noPx;
}Ha a célod animáció, akkor :
-
kalló
aktív tag
hy all!
már a java script topicban is feltettem ezt a kérdést de az a topic mostanában elég halott íghát megkérdezem itt is. Hogyan lehet egy képet java scriptben vagy html-ben egy adott x,y koordinátán megjeleníteni???
előre is köszönöm! -
Sianis
addikt
-
robisz
senior tag
Sziasztok!
Keresgéltem a neten, de nem találtam eddig működő megoldást a követekzőre:
Már létező ZIP archívumhoz akarok hozzáadni további fájlokat. Találtam egy kódot, de nem akar működni, elszáll FileNotFoundException-nel, pedig létezik a fájl.
Esetleg van valakinek ilyen problémát megoldó hasznos kis kódja, esetleg link?
Előre is nagy köszönet.
Sianis
-
loszerafin
senior tag
örömmel jelentem, hogy négy napnyi kemény munak után elkészültem a megközelítőleg végleges kóddal

Már korábban akartam írni, hogy érdemes ilyen "kis" programoknál megtanulni a kód-dokumentálást, unit tesztelést és a többnyelvűséget
http://java.sun.com/docs/books/tutorial/i18n/index.html
http://java.sun.com/j2se/javadoc/writingdoccomments/
http://www.devx.com/Java/Article/31983/0/page/1 -
Sianis
addikt
Sziasztok!
Keresgéltem a neten, de nem találtam eddig működő megoldást a követekzőre:
Már létező ZIP archívumhoz akarok hozzáadni további fájlokat. Találtam egy kódot, de nem akar működni, elszáll FileNotFoundException-nel, pedig létezik a fájl.
Esetleg van valakinek ilyen problémát megoldó hasznos kis kódja, esetleg link?
Előre is nagy köszönet.
Sianis
-
Alvin_ti4200
félisten
örömmel jelentem, hogy négy napnyi kemény munak után elkészültem a megközelítőleg végleges kóddal

-
rdi
veterán
megcsináltam az alábbi módon
(remélem jól értelmeztem a mondani valódat
)int[] tomb1={25,85,145,25,85,145,25,85,145};
int[] tomb2={50,50,50,110,110,110,170,170,170};
int[] gombtomb={512,2,1024,4,256,32,2048,64,4096};
Random rnd=new Random();
int veletlen=rnd.nextInt(8);
dx=tomb1[veletlen];
dy=tomb2[veletlen];
sprite.next(dx,dy,veletlen);
lm.paint(g,0,0);
flushGraphics();
int keyStates=getKeyStates();
if (keyStates==gombtomb[veletlen]){
pontszam++;
}
else{
if(keyStates!=0){
pontszam=(pontszam)-1;
}
}Apró szépséghiba, hogy az időzítések össze-visszasága miatt a jó billentyűleütéseket is néha rossznak veszi és fordítva, illetve valamiért a 2,4,5,6,8 gombok értéke nulla
Pedig tudomásom szerint azok felveszik a LEFT_PRESSED, RIGHT_PRESSED, UP_PRESSED, DOWN_PRESSED és FIRE_PRESSED értékeit is. A gombtomb[]-ben a gombok sorrendjében tároltam le a koordinátákat, tehát az index maga a gomb száma. Lehet az a gond, hogy a paint és/vagy flushgraphics után tettem a feltételeket?ó megint valami jó hsz
keyStates pont erre van szükségem... -
Alvin_ti4200
félisten
Remek.
Kissé átpofoztam a kódodat, de nem tudom kipróbálni:
int[] dx={25,85,145,25,85,145,25,85,145};
int[] dy={50,50,50,110,110,110,170,170,170};
int[] keyCodes={512,2,1024,4,256,32,2048,64,4096};
int keyIndex=(int)(Math.random()*9);
sprite.next(dx[keyIndex],dy[keyIndex],keyIndex);
lm.paint(g,0,0);
flushGraphics();
int keyState=getKeyStates();
if ( (keyState & keyCodes[keyIndex]) !=0 ){
score++;
}
else{
if(keyState!=0){
score--;
}
}A keyCodes tömb számai helyett jobb lenne enum-okat használni, úgy érthetőbb lenne a program.
Az else ágban a keyState!=0-nak utána kellene nézni, tényleg azt jelenti-e, hogy nyomtak gombot.És azt hiszem, itt mindent megtalálsz a témádhoz:
és ez se rossz:
[link]Ráadásul ez az utolsó "megvan" magyarul is:
[link]ó már túl vagyok ezen a részen, megoldottam az időzítést is Timer és TimerTask nélkül
Most írom az RMS részt, hogy tárolni és megjeleníteni is tudjam a HighScore-okat
-
loszerafin
senior tag
nem titkos, kedden délután már elárulhatom, akkor már túl leszek a bemutatásán és a leadásán
Konzultáltam ma a szakirány tanárommal és azt javasolta, hogy bonstam ketté a render() metódust, mégpedig rajzolós és billentyűzetelemzős részre. Módosítsam ezek alapján a Midletben a szál run() metódusát úgy, hogy először billvizsgálatot csinál, aztán vár valamennyit, aztán egy for ciklusba tegyem bele a rajzolós metódust és ehhez mérten igazítsam mennyi ideig sleepeljen a thread. Tehát pl. 1 mp-es képváltásnál thread.sleep(50) és ciklusváltozó 0-19. Most ezt fogom megpróbálni megcsinálni, remélem sikerrel járok és utána már "csak" az RMS (RecodStore) rész van hátra az eredmények mentéséhez és kiírásához (HighScore).Remek.
Kissé átpofoztam a kódodat, de nem tudom kipróbálni:
int[] dx={25,85,145,25,85,145,25,85,145};
int[] dy={50,50,50,110,110,110,170,170,170};
int[] keyCodes={512,2,1024,4,256,32,2048,64,4096};
int keyIndex=(int)(Math.random()*9);
sprite.next(dx[keyIndex],dy[keyIndex],keyIndex);
lm.paint(g,0,0);
flushGraphics();
int keyState=getKeyStates();
if ( (keyState & keyCodes[keyIndex]) !=0 ){
score++;
}
else{
if(keyState!=0){
score--;
}
}A keyCodes tömb számai helyett jobb lenne enum-okat használni, úgy érthetőbb lenne a program.
Az else ágban a keyState!=0-nak utána kellene nézni, tényleg azt jelenti-e, hogy nyomtak gombot.És azt hiszem, itt mindent megtalálsz a témádhoz:
és ez se rossz:
[link]Ráadásul ez az utolsó "megvan" magyarul is:
[link] -
Alvin_ti4200
félisten
Jól értetted, így gondoltam, látom, gyorsan "fogod" az adást
Lenne pár megjegyzésem a programozási stílussal kapcsolatban:
1. Próbálj meg angol azonosítókat használni, jobban illenek a programozáshoz
2. Próbálj meg olyan azonosítókat választani, amik a funkcióra utalnak és nem a
tartalomra, vagy típusra (pl: veletlen, tomb nem szerencsés)
3. Próbáld meg betartani a Sun névkonvencióit (változónevek első betűje kicsi, ha több szóból áll, akkor a többi kezdőbetű nagy
4. Szeparáld a kódodat. rajzolás és user input mehetne külön metódusba, akár külön osztályban is lehetnének (cohesion)Találtam egy fórumot, talán segít, rákeresve a getkeystates szóra van pár programpélda
[L]http://developer.sonyericsson.com/search.jspa?objID=c2&q=getkeystates[/L]Ha az a gyanúd, hogy az időzítések miatt megy össze vissza a programod, olvasd el ezt:
[L]http://java.sun.com/docs/books/tutorial/essential/concurrency/sync.html[/L]
(Legyenek a metódusaid syncronized-ek)De lehet megoldás az is, hogy nevezzük egy "körnek" a lámpa kigyúlásától a gomb lenyomásáig vagy az idő lejártáig tartó játékrészt.
Ekkor a kör végén hagyd a szálakat összefutni (mindegyik fejeződjön be), majd indítsd újra a szálakat, így nem lesz olyan, hogy pl. az előző lámpához tartozó gombnyomást fogja a programod jónak érzékelni. Meg egyébként is "tisztább, szárazabb érzés" lesz, hogy a szálaid ugyanazt a "kört" kezelik.Hajrá, kíváncsi vagyok a programodra, ha nem titkos, küldhetnél egy forrást az emailemre.
nem titkos, kedden délután már elárulhatom, akkor már túl leszek a bemutatásán és a leadásán
Konzultáltam ma a szakirány tanárommal és azt javasolta, hogy bonstam ketté a render() metódust, mégpedig rajzolós és billentyűzetelemzős részre. Módosítsam ezek alapján a Midletben a szál run() metódusát úgy, hogy először billvizsgálatot csinál, aztán vár valamennyit, aztán egy for ciklusba tegyem bele a rajzolós metódust és ehhez mérten igazítsam mennyi ideig sleepeljen a thread. Tehát pl. 1 mp-es képváltásnál thread.sleep(50) és ciklusváltozó 0-19. Most ezt fogom megpróbálni megcsinálni, remélem sikerrel járok és utána már "csak" az RMS (RecodStore) rész van hátra az eredmények mentéséhez és kiírásához (HighScore). -
loszerafin
senior tag
megcsináltam az alábbi módon
(remélem jól értelmeztem a mondani valódat
)int[] tomb1={25,85,145,25,85,145,25,85,145};
int[] tomb2={50,50,50,110,110,110,170,170,170};
int[] gombtomb={512,2,1024,4,256,32,2048,64,4096};
Random rnd=new Random();
int veletlen=rnd.nextInt(8);
dx=tomb1[veletlen];
dy=tomb2[veletlen];
sprite.next(dx,dy,veletlen);
lm.paint(g,0,0);
flushGraphics();
int keyStates=getKeyStates();
if (keyStates==gombtomb[veletlen]){
pontszam++;
}
else{
if(keyStates!=0){
pontszam=(pontszam)-1;
}
}Apró szépséghiba, hogy az időzítések össze-visszasága miatt a jó billentyűleütéseket is néha rossznak veszi és fordítva, illetve valamiért a 2,4,5,6,8 gombok értéke nulla
Pedig tudomásom szerint azok felveszik a LEFT_PRESSED, RIGHT_PRESSED, UP_PRESSED, DOWN_PRESSED és FIRE_PRESSED értékeit is. A gombtomb[]-ben a gombok sorrendjében tároltam le a koordinátákat, tehát az index maga a gomb száma. Lehet az a gond, hogy a paint és/vagy flushgraphics után tettem a feltételeket?Jól értetted, így gondoltam, látom, gyorsan "fogod" az adást
Lenne pár megjegyzésem a programozási stílussal kapcsolatban:
1. Próbálj meg angol azonosítókat használni, jobban illenek a programozáshoz
2. Próbálj meg olyan azonosítókat választani, amik a funkcióra utalnak és nem a
tartalomra, vagy típusra (pl: veletlen, tomb nem szerencsés)
3. Próbáld meg betartani a Sun névkonvencióit (változónevek első betűje kicsi, ha több szóból áll, akkor a többi kezdőbetű nagy
4. Szeparáld a kódodat. rajzolás és user input mehetne külön metódusba, akár külön osztályban is lehetnének (cohesion)Találtam egy fórumot, talán segít, rákeresve a getkeystates szóra van pár programpélda
[L]http://developer.sonyericsson.com/search.jspa?objID=c2&q=getkeystates[/L]Ha az a gyanúd, hogy az időzítések miatt megy össze vissza a programod, olvasd el ezt:
[L]http://java.sun.com/docs/books/tutorial/essential/concurrency/sync.html[/L]
(Legyenek a metódusaid syncronized-ek)De lehet megoldás az is, hogy nevezzük egy "körnek" a lámpa kigyúlásától a gomb lenyomásáig vagy az idő lejártáig tartó játékrészt.
Ekkor a kör végén hagyd a szálakat összefutni (mindegyik fejeződjön be), majd indítsd újra a szálakat, így nem lesz olyan, hogy pl. az előző lámpához tartozó gombnyomást fogja a programod jónak érzékelni. Meg egyébként is "tisztább, szárazabb érzés" lesz, hogy a szálaid ugyanazt a "kört" kezelik.Hajrá, kíváncsi vagyok a programodra, ha nem titkos, küldhetnél egy forrást az emailemre.
-
Alvin_ti4200
félisten
Nagyjából érthető, nekem csak a 9 db IF szúrt szemet.
Rakd be tömbbe a lenyomható gombokat, vizsgáld meg, a tömbben van-e a lenyomott gomb
és egyezik-e azzal ami kell neked, ha igen adj pontot, ha nem, vonj le egyet.kb így :
if nyomtak_le_gombot then
pontszam+=(lenyomhato_gombok[veletlen] == lenyomott_gomb) ? 1 : -1;
else lejart_az_ido then /* nem nyomott meg semmit és már vált a lámpa */
pontszam-=1;megcsináltam az alábbi módon
(remélem jól értelmeztem a mondani valódat
)int[] tomb1={25,85,145,25,85,145,25,85,145};
int[] tomb2={50,50,50,110,110,110,170,170,170};
int[] gombtomb={512,2,1024,4,256,32,2048,64,4096};
Random rnd=new Random();
int veletlen=rnd.nextInt(8);
dx=tomb1[veletlen];
dy=tomb2[veletlen];
sprite.next(dx,dy,veletlen);
lm.paint(g,0,0);
flushGraphics();
int keyStates=getKeyStates();
if (keyStates==gombtomb[veletlen]){
pontszam++;
}
else{
if(keyStates!=0){
pontszam=(pontszam)-1;
}
}Apró szépséghiba, hogy az időzítések össze-visszasága miatt a jó billentyűleütéseket is néha rossznak veszi és fordítva, illetve valamiért a 2,4,5,6,8 gombok értéke nulla
Pedig tudomásom szerint azok felveszik a LEFT_PRESSED, RIGHT_PRESSED, UP_PRESSED, DOWN_PRESSED és FIRE_PRESSED értékeit is. A gombtomb[]-ben a gombok sorrendjében tároltam le a koordinátákat, tehát az index maga a gomb száma. Lehet az a gond, hogy a paint és/vagy flushgraphics után tettem a feltételeket? -
loszerafin
senior tag
konkrétan azt szeretném elérni, hogy van egy veletlen nevű változóm, ami egy 0-8-ig terjedű szám (ezzel kreálom azt, hogy a 9 szám közül melyik váltson zöldről pirosra (értelemszerűen ezt kell majd lenyomni a billentyűzeten ahhoz, hogy kapjon a játékos egy pontot)), ez alapján csinálnék egy elágazást (jelenleg 9 darab if, de majd bevágom case-be őket
), hogy ha veletlen=0 & GAME_A_PRESSED!=0, akkor pontszam++, else pontszam=(pontszam-1). Na ilyenből csináltam 9 fajta IF-et, csak az a bajom, hogy állandóan növeli a pontszám értékét teljesen függetlenül attól, hogy hozzányúltam-e a billentyűzethez vagy sem.
Ráadásul én a 2,4,5,6,8 gombokkal úgy számoltam, hogy azok működnek UP,LEFT,FIRE,RIGHT,DOWN gombokként, de a keyStates-ük mindnek 0
Így hiába teszem bele az elágazásokba őket, nem fogja érzékelni a program, ha megnyomtam
Remélem úgy nagyjából világos mit szeretnék elérni
Nagyjából érthető, nekem csak a 9 db IF szúrt szemet.
Rakd be tömbbe a lenyomható gombokat, vizsgáld meg, a tömbben van-e a lenyomott gomb
és egyezik-e azzal ami kell neked, ha igen adj pontot, ha nem, vonj le egyet.kb így :
if nyomtak_le_gombot then
pontszam+=(lenyomhato_gombok[veletlen] == lenyomott_gomb) ? 1 : -1;
else lejart_az_ido then /* nem nyomott meg semmit és már vált a lámpa */
pontszam-=1; -
Alvin_ti4200
félisten
Mit értesz az alatt hogy "a number gombot" lenyomtad??

A "number" itt az eseménykezelő paramétere... a keyPressed MINDEN gomb lenyomásakor meghívódik, és a a number a lenyomott gomb kódja lesz. Az általad bemásolt hibaüzenet alapján azt mondom hogy valami más gond van a kódoddal.... másold be a hibás részt és kiderítjük :-)
konkrétan azt szeretném elérni, hogy van egy veletlen nevű változóm, ami egy 0-8-ig terjedű szám (ezzel kreálom azt, hogy a 9 szám közül melyik váltson zöldről pirosra (értelemszerűen ezt kell majd lenyomni a billentyűzeten ahhoz, hogy kapjon a játékos egy pontot)), ez alapján csinálnék egy elágazást (jelenleg 9 darab if, de majd bevágom case-be őket
), hogy ha veletlen=0 & GAME_A_PRESSED!=0, akkor pontszam++, else pontszam=(pontszam-1). Na ilyenből csináltam 9 fajta IF-et, csak az a bajom, hogy állandóan növeli a pontszám értékét teljesen függetlenül attól, hogy hozzányúltam-e a billentyűzethez vagy sem.
Ráadásul én a 2,4,5,6,8 gombokkal úgy számoltam, hogy azok működnek UP,LEFT,FIRE,RIGHT,DOWN gombokként, de a keyStates-ük mindnek 0
Így hiába teszem bele az elágazásokba őket, nem fogja érzékelni a program, ha megnyomtam
Remélem úgy nagyjából világos mit szeretnék elérni
-
robisz
senior tag
nem működik (void typue not allowod here), feltételben mondom, hogy nem lehet használni, mive a keyPressed(int number) függvény akkor hívódik meg, ha a number gombot lenyomtad

Mit értesz az alatt hogy "a number gombot" lenyomtad??

A "number" itt az eseménykezelő paramétere... a keyPressed MINDEN gomb lenyomásakor meghívódik, és a a number a lenyomott gomb kódja lesz. Az általad bemásolt hibaüzenet alapján azt mondom hogy valami más gond van a kódoddal.... másold be a hibás részt és kiderítjük :-)
-
Alvin_ti4200
félisten
nem működik (void typue not allowod here), feltételben mondom, hogy nem lehet használni, mive a keyPressed(int number) függvény akkor hívódik meg, ha a number gombot lenyomtad

-
Alvin_ti4200
félisten
a keyPressed szerintem nem fog működni, mert az végrehajtásra van, nem figyelésre, de megpróbálom majd

-
robisz
senior tag
Szia!
A GameCanvas osztályon van egy getKeyStates() metódus, ezzel tudod lekérdezni a gombok állapotát. Pl.:
int keyState = getKeyStates();
if ((keyState & LEFT_PRESSED) != 0) {
// Balra gomb le van nyomva
}A user input kezelést a fő ciklusodba érdemes betenni mondjuk a renderelés elé. Az 1000 millisec sleep-elés egyébként rengeteg, így maximum 1 fps-el fog futni az animáció
Akár egy 20 millisec-es sleep-elés is megteszi.Egyébként keyPressed(int number) függvényt is használhatod, hiszen a paraméterként megkapott integer az épp a lenyomott gomb kódja lesz. Ez alapján megcsinálhatod az elágazást case-zel.
-
robisz
senior tag
van két osztályom (a harmadik nem érdekes):
SPRITECANVAS.JAVA
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;public class SpriteCanvas extends GameCanvas{
public Command exitCommand;
public Sprite1 sprite;BackgroundLayer bgLayer;
LayerManager lm;public SpriteCanvas() throws java.io.IOException {
super(false);exitCommand=new Command("Kilépés",Command.EXIT,0);
addCommand(exitCommand);sprite=new Sprite1();
sprite.setPosition(25,50);
bgLayer=new BackgroundLayer();
lm=new LayerManager();
lm.append(sprite);
lm.append(bgLayer);
}void render(){
Graphics g=getGraphics();g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());int dx=0,dy=0;
int[] tomb1={25,85,145,25,85,145,25,85,145};
int[] tomb2={50,50,50,110,110,110,170,170,170};
Random rnd=new Random();
int veletlen=rnd.nextInt(8);
dx=tomb1[veletlen];
dy=tomb2[veletlen];
sprite.next(dx,dy,getWidth(),getHeight(),veletlen);lm.paint(g,0,0);
flushGraphics();}
}SPRITE1.JAVA
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;public class Sprite1 extends Sprite{
static final int width=60;
static final int height=60;public int mode=0;
static Random rnd=new Random();
static int[] frame_sequence_1={0,1,2,3,4,5,6,7,8};int framecount=0;
public Sprite1() throws java.io.IOException{
super(Image.createImage("/hello/gomb2.png"),width,height);
setFrameSequence(frame_sequence_1);
}public void next(int dx, int dy, int maxX, int maxY, int randomize){
setPosition(dx,dy);
setFrame(randomize);
}
}A lényeg az lenne, hogy a render vagy next hivások között legyen monjuk egy másodpercnyi idő, amíg a lenyomott gombot (még nincs deklarálva) meg tudom vizsgálni, hogy mi volt az. Apropó létezik olyan függvény, amely a lenyomott gomb kódját adja vissza integerben? Mert keyPressed(int number) függvény van, csak az akkor fut le, ha az adott gombot nyomom meg, nekem meg pont fordítva kéne, hogy lenyomás után el tudjam dönteni, hogy melyik számú (49-57 [KEY_NUM1-KEY_NUM9]) gomb volt az és ennek megfelelően csinálni egy szép nagy case elágazást.
A MainMidlet osztályban az egyik menüponthoz hozzárendeltem ezt az eseményt:
try{
spritecanvas=new SpriteCanvas();
spritecanvas.setCommandListener(this);
Display.getDisplay(this).setCurrent(spritecanvas);
thread=new Thread(this);
thread.start();
} catch (IOException E){
destroyApp(true);
}A Runnable interfész miatt kell bele még egy Run metódus is, ezt a Midlet legvégére szúrtam be és így néz ki:
public void run(){
try{
while((thread.isAlive())&&(spritecanvas!=null)){
spritecanvas.render();
thread.sleep(1000);}
} catch (InterruptedException E1){}
}Szia!
A GameCanvas osztályon van egy getKeyStates() metódus, ezzel tudod lekérdezni a gombok állapotát. Pl.:
int keyState = getKeyStates();
if ((keyState & LEFT_PRESSED) != 0) {
// Balra gomb le van nyomva
}A user input kezelést a fő ciklusodba érdemes betenni mondjuk a renderelés elé. Az 1000 millisec sleep-elés egyébként rengeteg, így maximum 1 fps-el fog futni az animáció
Akár egy 20 millisec-es sleep-elés is megteszi. -
Alvin_ti4200
félisten
De írd le akkor, hogy mi okozza a problémát.
Példányosítasz a Timerből.
Kiterjeszted a TimerTask osztályt, implementálod a run metódusát annak megfelelően, hogy mit akarsz ismételni, amikor lejár az idő.
Példányosítasz ebből a kiterjesztett osztályból, és paraméterként átadod a Timer példányod schedule metódusának, plusz megadod az ismétlési időközt.van két osztályom (a harmadik nem érdekes):
SPRITECANVAS.JAVA
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;public class SpriteCanvas extends GameCanvas{
public Command exitCommand;
public Sprite1 sprite;BackgroundLayer bgLayer;
LayerManager lm;public SpriteCanvas() throws java.io.IOException {
super(false);exitCommand=new Command("Kilépés",Command.EXIT,0);
addCommand(exitCommand);sprite=new Sprite1();
sprite.setPosition(25,50);
bgLayer=new BackgroundLayer();
lm=new LayerManager();
lm.append(sprite);
lm.append(bgLayer);
}void render(){
Graphics g=getGraphics();g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());int dx=0,dy=0;
int[] tomb1={25,85,145,25,85,145,25,85,145};
int[] tomb2={50,50,50,110,110,110,170,170,170};
Random rnd=new Random();
int veletlen=rnd.nextInt(8);
dx=tomb1[veletlen];
dy=tomb2[veletlen];
sprite.next(dx,dy,getWidth(),getHeight(),veletlen);lm.paint(g,0,0);
flushGraphics();}
}SPRITE1.JAVA
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;public class Sprite1 extends Sprite{
static final int width=60;
static final int height=60;public int mode=0;
static Random rnd=new Random();
static int[] frame_sequence_1={0,1,2,3,4,5,6,7,8};int framecount=0;
public Sprite1() throws java.io.IOException{
super(Image.createImage("/hello/gomb2.png"),width,height);
setFrameSequence(frame_sequence_1);
}public void next(int dx, int dy, int maxX, int maxY, int randomize){
setPosition(dx,dy);
setFrame(randomize);
}
}A lényeg az lenne, hogy a render vagy next hivások között legyen monjuk egy másodpercnyi idő, amíg a lenyomott gombot (még nincs deklarálva) meg tudom vizsgálni, hogy mi volt az. Apropó létezik olyan függvény, amely a lenyomott gomb kódját adja vissza integerben? Mert keyPressed(int number) függvény van, csak az akkor fut le, ha az adott gombot nyomom meg, nekem meg pont fordítva kéne, hogy lenyomás után el tudjam dönteni, hogy melyik számú (49-57 [KEY_NUM1-KEY_NUM9]) gomb volt az és ennek megfelelően csinálni egy szép nagy case elágazást.
A MainMidlet osztályban az egyik menüponthoz hozzárendeltem ezt az eseményt:
try{
spritecanvas=new SpriteCanvas();
spritecanvas.setCommandListener(this);
Display.getDisplay(this).setCurrent(spritecanvas);
thread=new Thread(this);
thread.start();
} catch (IOException E){
destroyApp(true);
}A Runnable interfész miatt kell bele még egy Run metódus is, ezt a Midlet legvégére szúrtam be és így néz ki:
public void run(){
try{
while((thread.isAlive())&&(spritecanvas!=null)){
spritecanvas.render();
thread.sleep(1000);}
} catch (InterruptedException E1){}
} -
Lortech
addikt
köszi, ezeket én is megtaláltam, próbáltam belőle kihámozni a használatot, de nem tudom átültetni az én feladatomba

De írd le akkor, hogy mi okozza a problémát.
Példányosítasz a Timerből.
Kiterjeszted a TimerTask osztályt, implementálod a run metódusát annak megfelelően, hogy mit akarsz ismételni, amikor lejár az idő.
Példányosítasz ebből a kiterjesztett osztályból, és paraméterként átadod a Timer példányod schedule metódusának, plusz megadod az ismétlési időközt. -
Alvin_ti4200
félisten
-
Lortech
addikt
J2ME-ben nincs javax.swing sajnos, úgyhogy azt hiszem ez nem járható út

-
Alvin_ti4200
félisten
-
Alvin_ti4200
félisten
-
Sianis
addikt
J2ME-ben programozok NetBeans-ben és azt szeretném kérdezni, hogy hogyan tudok időzéítéseket használni? Nagyjából annyi lenne a feladat, hogy egy TiledLayerrel és egy Sprite-tal operálok, az előbbin mozgatom az utóbbit, viszont azt szeretném megoldani, hogy két pozícióváltás között legyen x másodperc, hogy ilyenkor a felhasználó lenyomhasson egy gombot (játékot készítek mobiltelefonra), aztán ha jót nyomott, akkor egy változót megnövelek, ha rosszat, akkor ugyanazt csökkentem. Tehát az idő-, és/vagy időzítéskezelés alapjait szeretném tudni Java-ban/J2ME-ben, előre is köszönöm, szakirányom egyik munkájához kellene

Timer?
Sianis
-
Alvin_ti4200
félisten
J2ME-ben programozok NetBeans-ben és azt szeretném kérdezni, hogy hogyan tudok időzéítéseket használni? Nagyjából annyi lenne a feladat, hogy egy TiledLayerrel és egy Sprite-tal operálok, az előbbin mozgatom az utóbbit, viszont azt szeretném megoldani, hogy két pozícióváltás között legyen x másodperc, hogy ilyenkor a felhasználó lenyomhasson egy gombot (játékot készítek mobiltelefonra), aztán ha jót nyomott, akkor egy változót megnövelek, ha rosszat, akkor ugyanazt csökkentem. Tehát az idő-, és/vagy időzítéskezelés alapjait szeretném tudni Java-ban/J2ME-ben, előre is köszönöm, szakirányom egyik munkájához kellene

-
rdi
veterán
Hi!
Most éppen a java hálózati dolgait próbálgatom. Eddig sikerült összehoznom egy tcp szervert ami a klienstől kapott double számot megszorozza valamennyivel, és visszaküldi a kliensnek. És persze ehhez a klienst is csináltam. A DataOutput/InputStream osztályt használtam a küldésre és fogadásra, mert ezzel elég egyszerűen lehet sokféle típusú adatot küldeni. De stringet nem tud. Hogy lehet megoldani hogy mindenféle adat mehessen?
Ráadásul elég kuszának tűnik ez a tcp-s átviteli dolog, főleg az hogy folyamban jönnek az adatok. De hogyha többféle adat jön egy kapcsolaton hogy különböztetem meg a fogadónál hogy most akkor mivé próbálja visszaalakítani a nyers adatot?
Egy játék hálózati kommunikációjából indultam ki, mert ott úgy megy, hogy tcp-n keresztül kommunikál (udp-n egyszerű lenne, mert ott ugye datagramokat lehet küldeni), úgy hogy folyamatosan fenntart egy tcp kapcsolatot, és a játék protokollja valahogy úgy műxik, hogy a kliens kap egy byte számot a csomag elején, és az jelzi hogy mi lesz utána és hogy olvassa a kliens. Na de honnan tudja hogy hol kezdődik a csomag a tcp adatfolyamban (nem mindíg oda-vissza válaszolgatás van a kettő között, mert sokszor a szerver úgy magától kérés nélkül küld egy adatcsomagot)? Ezt hogy oldják meg tcp-ben? Most nem a játékot akarom leutánozni, hanem csak valami hasonló kommunikációt létrehozni.
És tudna valaki linkelni valami jó, részletes leírást java hálózatos programozásról, amiben lehetőleg példakódok is vannak?
szia, ez már megvolt ?
[L:http://www.hik.hu/tankonyvtar/site/books/b10108/pr01s03s03s01.html][link][/Lja az classpath gondjaim lehet, hogy megoldódtak]
-
Sanyix
őstag
Hi!
Most éppen a java hálózati dolgait próbálgatom. Eddig sikerült összehoznom egy tcp szervert ami a klienstől kapott double számot megszorozza valamennyivel, és visszaküldi a kliensnek. És persze ehhez a klienst is csináltam. A DataOutput/InputStream osztályt használtam a küldésre és fogadásra, mert ezzel elég egyszerűen lehet sokféle típusú adatot küldeni. De stringet nem tud. Hogy lehet megoldani hogy mindenféle adat mehessen?
Ráadásul elég kuszának tűnik ez a tcp-s átviteli dolog, főleg az hogy folyamban jönnek az adatok. De hogyha többféle adat jön egy kapcsolaton hogy különböztetem meg a fogadónál hogy most akkor mivé próbálja visszaalakítani a nyers adatot?
Egy játék hálózati kommunikációjából indultam ki, mert ott úgy megy, hogy tcp-n keresztül kommunikál (udp-n egyszerű lenne, mert ott ugye datagramokat lehet küldeni), úgy hogy folyamatosan fenntart egy tcp kapcsolatot, és a játék protokollja valahogy úgy műxik, hogy a kliens kap egy byte számot a csomag elején, és az jelzi hogy mi lesz utána és hogy olvassa a kliens. Na de honnan tudja hogy hol kezdődik a csomag a tcp adatfolyamban (nem mindíg oda-vissza válaszolgatás van a kettő között, mert sokszor a szerver úgy magától kérés nélkül küld egy adatcsomagot)? Ezt hogy oldják meg tcp-ben? Most nem a játékot akarom leutánozni, hanem csak valami hasonló kommunikációt létrehozni.
És tudna valaki linkelni valami jó, részletes leírást java hálózatos programozásról, amiben lehetőleg példakódok is vannak?
-
loszerafin
senior tag
Szívesen, bár ez pont nem a gyakorlat miatt van. Sokat olvasgattam régebben az algoritmusokról. Jó alap. Na, meg 10 évet tanítottam... -
kew
senior tag
-
rdi
veterán
Vénségemre belevágtam a javába, Eclipse alatt elkészített és kiexportált jar fájlomat szereretném lefutattni konzolban de az istennek nem megy.
NoClassDefFoundError hibát jelez, és látom, hogy ez egy ősrégi probléma és állandóan előjön, mégsem tudom megoldani...
Egyszerűen még azt sem tudom, hogy ha kibontom a jar fájlt akkor mivel tudom visszacsomagolni,
Esetleg nincs valaki aki nagyon egyszerűen el tudná mondani, hogy hova tegyem a programokat tartalmazó könyvtárat, hogyan editáljam a classpath fájlt és utána hogyan csomagoljam vissza a jart? -
Cseme
csendes tag
-
PazsitZ
addikt
Szia! Sziasztok!
Segitségre lenne szükségem javascriptbe. Abszolut amatör vagyok, egyetem majdhogy szabadon választható tantárgya.
Feladat: Adott két kép: kapu és labda.
Addig kell h mozogjon a labda akapu fele, míg bele nem száll és akkor kiirja alertba h gól:
eddig ennyi van meg:<body onload="ini()">
<img src="kapu.jpg" id="kapu">
<img src="labda.jpg" id="labda"><style>
#kapu, #labda{position:absolute}
#kapu {width:250px; height:166px}
#labda{width:67px;height:64px}</style>
<script language="JavaScript">var lx=Math.round(Math.random()*500+200,0);
var ly=Math.round(Math.random()*300+10,0);
var kx=Math.round(Math.random()*450+200,0);
var ky=Math.round(Math.random()*150+10,0);var kw=250;
var kh=166;
var lw=67;
var lh=64;
var n=0;function ini(){
document.getElementById("labda").style.left=lx;
document.getElementById("labda").style.top=ly;
document.getElementById("kapu").style.left=kx;
document.getElementById("kapu").style.top=ky;if(kx<lx && lx+lw<kx+kw && ky<ly && ky+kh >ly+lh)
{alert('GOOL');}
}</script>
</body>sejtem, h cilust kellene irni és egy settimoutot belerakni...pls help
Sajnos nem értek a javascriptekhez, csak minimálisan, szóval nem tudok segíteni.
Viszont itt lehet hamarabb választ kapsz a kérdésedre
: Javascript topic -
Cseme
csendes tag
szeretned, mi?

sajnos nem foglak. ez kodolasi beallitas, es nem nagyon talaltam (bar nem vittem tulzasba) erre vonatkozo beallitast a netbeansben. (Szemben az eclipse-szel) Nem szeretem a netbeans-t, mert az eclipse-hez kepest erezhetoen lassabban fut a gepemen, de jelenleg azt hasznalom, mert ugy ereztem sokkal jobb tamogatast nyujt j2ee, jsf fejleszteshez (mar a beepitett sun server miatt is). De ugy gondolom, hogy par nap amig megtanulod egy uj ide-ben azokat a parancsokat amiket szoktal hasznalni, utana mar eszre sem veszed a kulonbseget. (Masodallasban eclipse-et hasznalok
)Szia! Sziasztok!
Segitségre lenne szükségem javascriptbe. Abszolut amatör vagyok, egyetem majdhogy szabadon választható tantárgya.
Feladat: Adott két kép: kapu és labda.
Addig kell h mozogjon a labda akapu fele, míg bele nem száll és akkor kiirja alertba h gól:
eddig ennyi van meg:<body onload="ini()">
<img src="kapu.jpg" id="kapu">
<img src="labda.jpg" id="labda"><style>
#kapu, #labda{position:absolute}
#kapu {width:250px; height:166px}
#labda{width:67px;height:64px}</style>
<script language="JavaScript">var lx=Math.round(Math.random()*500+200,0);
var ly=Math.round(Math.random()*300+10,0);
var kx=Math.round(Math.random()*450+200,0);
var ky=Math.round(Math.random()*150+10,0);var kw=250;
var kh=166;
var lw=67;
var lh=64;
var n=0;function ini(){
document.getElementById("labda").style.left=lx;
document.getElementById("labda").style.top=ly;
document.getElementById("kapu").style.left=kx;
document.getElementById("kapu").style.top=ky;if(kx<lx && lx+lw<kx+kw && ky<ly && ky+kh >ly+lh)
{alert('GOOL');}
}</script>
</body>sejtem, h cilust kellene irni és egy settimoutot belerakni...pls help
-
loszerafin
senior tag
Halee. Én vagyok Vercetti a gdf.pganet fórumról. Megyek én is izzadni 10. -én bár én már túl vagyok Pascalo -n, ASM -en, Delphi -n, C -n. A megoldás adja magát, csak ezt rá kell ültetni specifikusan a Java nyelvre.
Ha ezt a feladatot kapom, bizony a Vector -ral fogom megoldani. Nekem érthetőbbnek tűnnek a tömbműveletek. Pl.: .add, .remove, .contains, .equals, stb. Adja magát a dolog.Integer[] nums;
nums = new Integer[95];
for (int i=0; i<95; i++) nums[i]=i+1;
List<Integer> numsList = Arrays.asList(nums);
Collections.shuffle(numsList);
System.out.println(numsList.subList(0,5));Érdekes, hogy az ilyen megoldásokat részesítitek előnyben, pedig amit
[link] itt írtam, elegánsabb,
gyorsabb, rövidebb, kisebb helyigényű. -
Dj Ready
csendes tag
Halee. Én vagyok Vercetti a gdf.pganet fórumról. Megyek én is izzadni 10. -én bár én már túl vagyok Pascalo -n, ASM -en, Delphi -n, C -n. A megoldás adja magát, csak ezt rá kell ültetni specifikusan a Java nyelvre.
Ha ezt a feladatot kapom, bizony a Vector -ral fogom megoldani. Nekem érthetőbbnek tűnnek a tömbműveletek. Pl.: .add, .remove, .contains, .equals, stb. Adja magát a dolog. -
Shodan
őstag
-
loszerafin
senior tag
Itt a Java kód:
Csak azért írom egy sorba, hogy ha vki gondolkodni akar, ne lássa rögtön a megoldást
/* */ int i=95; int x=5; while (i>0 && x>0) { if (Math.random()*i<=x) { System.out.println(i); x--; } i--; }Egyébként az a "mellékhatása" az algoritmusnak, hogy a kihúzott számokat nagyság szerint
rendezve írja ki. -
loszerafin
senior tag
Annyit hozzáteszek, hogy ez egy klasszikus probléma, és van is "klasszikus" megoldása:
Képzeld el, hogy vki mondja neked a számokat sorba.
Te néha megállítod az illetőt és felírod egy papírra a számot.Hogy mikor állítod meg, az itt a kérdés.
Az egyszerűség kedvéért tételezzük fel, hogy nagyság szerint csökkenő sorrendben
mondja a számokat.Képzeld el, hogy most éppen az "i" számot mondja (azaz még i db szám közül választhatsz), neked meg még x db számot kell
kiválasztanod.
Mikor állítod meg az illetőt? Másképp fogalmazva: Mekkora valószínűséggel állítod meg?(az eredmény program tárhelyigénye: 2 egység, egyetlen ciklus van benne, ami max. 95-ször fut le)
Üdv
KLItt a Java kód:
Csak azért írom egy sorba, hogy ha vki gondolkodni akar, ne lássa rögtön a megoldást
/* */ int i=95; int x=5; while (i>0 && x>0) { if (Math.random()*i<=x) { System.out.println(i); x--; } i--; } -
loszerafin
senior tag
Annyit hozzáteszek, hogy ez egy klasszikus probléma, és van is "klasszikus" megoldása:
Képzeld el, hogy vki mondja neked a számokat sorba.
Te néha megállítod az illetőt és felírod egy papírra a számot.Hogy mikor állítod meg, az itt a kérdés.
Az egyszerűség kedvéért tételezzük fel, hogy nagyság szerint csökkenő sorrendben
mondja a számokat.Képzeld el, hogy most éppen az "i" számot mondja (azaz még i db szám közül választhatsz), neked meg még x db számot kell
kiválasztanod.
Mikor állítod meg az illetőt? Másképp fogalmazva: Mekkora valószínűséggel állítod meg?(az eredmény program tárhelyigénye: 2 egység, egyetlen ciklus van benne, ami max. 95-ször fut le)
Üdv
KL -
kew
senior tag
Vagy rövidebben (jobbnak nem feltétlenül jobb ez sem) pl. így:
List<Integer> LottoSzamok = new ArrayList<Integer>();
for(int i=0; i< 5;i++)
{
int lsz;
while (LottoSzamok.contains(lsz=(1+(int) (Math.random() * 90))))
;
LottoSzamok.add(new Integer(lsz));
}
for(int i=0; i< 5;i++)
System.out.print("\n"+LottoSzamok.get(i));A bentvane függvényedet lehetne szépíteni, ha megállna a for ciklus már az első találatra, mert felesleges végigszaladni minden elemen, ha pl. már az első elem a keresett elem. Pl ki lehetne breakelni az eredmeny = true után. Vagy breaktől idegenkedők a for ciklus ciklusban maradási feltételéhez hozzávehetik a !eredmeny kifejezést (i<=4 && !eredmeny;), habár ezzel a + feltételvizsgálat miatt nem vagyunk sokkal előrébb. Vagy egyből return true; és akkor nem kell eredmeny valtozó se. (még egy return false; kellene ekkor a végére, hogy minden code path térjen vissza értékkel)
thx, még tanulgatom

kb egy hete kezdtem el tanulni a javaul, mondjuk egyáltalán nem vonz a programozás, de muszáj levizsgázni ebből is...
10én megyek, úgyhogy lehet, hogy még jövök a kérdéseimmel
-
Lortech
addikt
hja közben rájöttem, hogy ez igy mégse teljesen jo...
most ismerös segítségével sikerült, de hát bonyolultabb ez, mint ahogy elsőre gondoltam
így néz ki, ha ellenőrzi is a bevitt számot:
class Lotto2 {
static int[] szamok = { 0, 0, 0, 0, 0 };
public static boolean bentvane(int szam) {
boolean eredmeny = false;
for (int i=0;i<=4;i++) {
if (szam == szamok[i]) { eredmeny = true; }
}
return eredmeny;
}
public static void main(String[] args) {
int random_szam = 0;
for (int i=0;i<=4;i++) {
do { random_szam = (1 + (int) (Math.random() * 95)); }
while (bentvane(random_szam));
szamok[i] = random_szam;
}
System.out.println("Lottó számok: ");
for (int i=0;i<=4;i++) {
System.out.print(szamok[i] + " ");
}
}
}van még mit gyakorolnom...

Vagy rövidebben (jobbnak nem feltétlenül jobb ez sem) pl. így:
List<Integer> LottoSzamok = new ArrayList<Integer>();
for(int i=0; i< 5;i++)
{
int lsz;
while (LottoSzamok.contains(lsz=(1+(int) (Math.random() * 90))))
;
LottoSzamok.add(new Integer(lsz));
}
for(int i=0; i< 5;i++)
System.out.print("\n"+LottoSzamok.get(i));A bentvane függvényedet lehetne szépíteni, ha megállna a for ciklus már az első találatra, mert felesleges végigszaladni minden elemen, ha pl. már az első elem a keresett elem. Pl ki lehetne breakelni az eredmeny = true után. Vagy breaktől idegenkedők a for ciklus ciklusban maradási feltételéhez hozzávehetik a !eredmeny kifejezést (i<=4 && !eredmeny;), habár ezzel a + feltételvizsgálat miatt nem vagyunk sokkal előrébb. Vagy egyből return true; és akkor nem kell eredmeny valtozó se. (még egy return false; kellene ekkor a végére, hogy minden code path térjen vissza értékkel)
-
kew
senior tag
hja közben rájöttem, hogy ez igy mégse teljesen jo...
most ismerös segítségével sikerült, de hát bonyolultabb ez, mint ahogy elsőre gondoltam
így néz ki, ha ellenőrzi is a bevitt számot:
class Lotto2 {
static int[] szamok = { 0, 0, 0, 0, 0 };
public static boolean bentvane(int szam) {
boolean eredmeny = false;
for (int i=0;i<=4;i++) {
if (szam == szamok[i]) { eredmeny = true; }
}
return eredmeny;
}
public static void main(String[] args) {
int random_szam = 0;
for (int i=0;i<=4;i++) {
do { random_szam = (1 + (int) (Math.random() * 95)); }
while (bentvane(random_szam));
szamok[i] = random_szam;
}
System.out.println("Lottó számok: ");
for (int i=0;i<=4;i++) {
System.out.print(szamok[i] + " ");
}
}
}van még mit gyakorolnom...

-
Lortech
addikt
nah igy jó, csak hát igy nincs is szükség a tömbre...

esetleg ha kiirasnal a (lottoszamok[generalt]) lenne, akkor jo, bár értelme nincs megirni ezért.
na mind1, müxik, az a lényeg
for (int i = 1; i <= 5; i++) {
int generalt = 1 + (int) (Math.random() * 95);
System.out.print(generalt + " ");
}Feleslegesen írkáltam, rájöttél magad is.

Persze, hogy nem kell tömb, legalábbis a kihúzható számok tárolására nem.
Ellenben a kihúzott számokat el kéne tárolni, mivel a programod nem helyes, mert többször is kihúzhatod ugyanazt a számot. -
kew
senior tag
sziasztok!
segítsetek pliiz
készülök java vizsgámra, és próbálkozok írogatni kis szösszeneteket.
most elakadtam: lényegében kell egy lottószelvény, melyböl generál random 5 számot a konzolra.na odáig eljutottam, hogy csináltam egy 96 elemü tömböt, és for ciklussal feltöltöttem 1-95ig számokkal.
Hogy tudnék ebböl random kiiratni 5 számot? Próbáltam Math.random()-al, de úgy látom az nem erre való
köszi!
nah igy jó, csak hát igy nincs is szükség a tömbre...

esetleg ha kiirasnal a (lottoszamok[generalt]) lenne, akkor jo, bár értelme nincs megirni ezért.
na mind1, müxik, az a lényeg
for (int i = 1; i <= 5; i++) {
int generalt = 1 + (int) (Math.random() * 95);
System.out.print(generalt + " ");
} -
kew
senior tag
sziasztok!
segítsetek pliiz
készülök java vizsgámra, és próbálkozok írogatni kis szösszeneteket.
most elakadtam: lényegében kell egy lottószelvény, melyböl generál random 5 számot a konzolra.na odáig eljutottam, hogy csináltam egy 96 elemü tömböt, és for ciklussal feltöltöttem 1-95ig számokkal.
Hogy tudnék ebböl random kiiratni 5 számot? Próbáltam Math.random()-al, de úgy látom az nem erre való
köszi!
Új hozzászólás Aktív témák
-
1200 - 1101
12211 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
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 Tabletek, E-bookok Nyomtatók, szkennerek 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?:))
- Tíz éve tépte fel ismét a pokol kapuit a DOOM
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- GL.iNet Flint 2 (GL-MT6000) router
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- iPhone topik
- gban: Ingyen kellene, de tegnapra
- Mr Dini: Mindent a StreamSharkról!
- Milyen monitort vegyek?
- Apple Watch
- Apple MacBook
- További aktív témák...
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- Eladó oshiba dynabook satellite B551/D
- Samsung Galaxy S24 Ultra / 12/ 1TB / Kártyafüggetlen / 12HÓ Garancia
- Apple iPhone 13 128GB Black - Megkímélt állapot - 100% akku
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






![;]](http://cdn.rios.hu/dl/s/v1.gif)
.


hát igen, gyakorlat teszi a mestert...
:


