- Samsung Galaxy A54 - türelemjáték
- Yettel topik
- Honor Magic5 Pro - kamerák bűvöletében
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Készülőben a Xiaomi 2021-es csúcsmodelljeinek HyperOS frissítése
- OnePlus 7 - magabiztos folytatás
- Redmi Note 12 Pro - nem tolták túl
- DIGI Mobil
- MIUI / HyperOS topik
- iOS alkalmazások
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Az Apple iPadOS-t is megrendszabályozza az EU
it Az EB közölte: az Apple iPad táblagépekre írt iPadOS rendszere is kapuőrnek számít, az üzleti felhasználókra gyakorolt fontossága miatt.
-
Saját Redmi Note 13 Pro+ a világbajnok focicsapatnak (és indiai rajongóiknak)
ma Argentína nemzeti válogatottjának mezével díszítik az új Redmi különkiadást.
Új hozzászólás Aktív témák
-
robisz
senior tag
Ízlés kérdése, én nem értek veled egyet
Azért nem olyan bonyolult ez a javac.exe, hogy bárki aki valaha látott már parancssort,
ne tudná használni. Kétségtelen hogy kezdetben lehet vele szívni, de legalább megérted
hogyan működnek a package-ek, a classpath, meg úgy általában a compiler.
Kíváncsi vagyok mit csinál az a kezdő user aki elindít egy Eclipse-t és mondjuk
classpath-t vagy JVM paramétereket kell állítania... azon kívűl, hogy néz nagyokat -
shev7
veterán
pedig szerintem igaza van a koleganak. Ha a for cikluson belul hozol letre egy valtozot, akkor azt bizony fel fogja szabaditani sztem.
nezzunk egy mitirki peldat
for (i=0;i<10;i++) {
int n=10;
System.out.println(n);
n++;
}''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
dantes
tag
Az első fele a mondatomnak arra vonatkozott, hogy hogy kell elképzelni. Azzal pedig semmi gond nem volt. A ciklusmagon kívűl nem létezik az n változó.
A második fele pedig az hogy a fordító kioptimalizálhatja. Nem tudom hogy, mert nem ismerem a jdk forrását, lehet hogy úgy ahogy te mondtad (+ a külső blokk köré egy {}), de ennél egy jobb megoldás, amit én mondtam, hogy észreveszi, hogy a ciklusmagon bellül nincs hivatkozás az n-re (ezt azt hiszem amúgy is észreveszi, mert warningot ad), és akkor a ciklusmag üres, ezt is kioptimalizálhatja és nem csinál semmit.''Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do.'' - Mark Twain
-
loszerafin
senior tag
Köszi, megnézem később. Most van egy könyvem, azon rágom át magam éppen.
Ezt ismeri valaki?
Kérdés: Mit ír ki a program? (Figyelem! Tilos begépelni és kipróbálni, előbb tippelni kell!)
class Equal {
public static void main(String[] args){
Integer i,j;
i=10; j=10;
System.out.println(i==j);
i=1000; j=1000;
System.out.println(i==j);
}
}
(Persze az igazi kérdés inkább az, hogy miért van ez így?)
[Szerkesztve] -
kew
senior tag
válasz Lortech #1103 üzenetére
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...
-
Alvin_ti4200
félisten
válasz Lortech #1127 üzenetére
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){}
}[ Szerkesztve ]
-
Dr. Romano
veterán
-
-
Chris_T
tag
válasz Lortech #1715 üzenetére
Kösz,
közben rá is jöttem hogy müködik pontosanIgazából azt nem értettem hogy a getSource metódust hogyhogy lehetséges ponttal elválasztva összekötni az equals metódussal
Aztán leesett hogy mikor a getSource visszaadja obj. referenciáját -> annak hívja meg az equals metódusát (mivelhogy minden objektumnak megvan ez a metódus)[ Szerkesztve ]
-
eziskamu
addikt
válasz Lortech #1719 üzenetére
A doInBackground belsejét próbáltam már kikommentelni is, a Netbeans Profilerével meg még most kezdtem ismerkedni
Az osztály:
class sMin extends SwingWorker<String[], Void> {
@Override
public String[] doInBackground() {
//try{Thread.sleep(300);}catch(Exception e){}
String cszam=s2.getCSzam();
String azon=s2.getAzon();
String[]ts2;
ts2=ca1.getElement(cszam, azon);
if(ts2==null){
ts2=getSor(cszam,azon,ts2);
ca1.pushElement(cszam, azon, ts2);
return ts2;
}
return ts2;
}
@Override
protected void done() {
String[]ts2;
try {
ts2=get();
try{hKod.setSelectedIndex( Integer.parseInt(ts2[0]));}catch(Exception e){}
mFaz.setSelectedIndex(getIndex(ts2[1],mFazok2));
nmDesc.setText(ts2[2]);
ibDesc.setText(ts2[3]);
juDesc.setText(ts2[4]);
dolg.setText(ts2[5]);
mJel.setSelectedIndex(getIndex(ts2[6],mJelek2));
mFazItemStateChanged();
s1.setIt(false);
} catch ( java.util.concurrent.CancellationException e) {}
catch ( Exception f) {s1.setIt(false);}
}
}
És ahogy példányosítom.
private void showMin(String cszam,String azon){
boolean b1=false;
try{
b1=!pb0.isAlive();
}
catch(Exception e){
b1=true;
}
if(!s1.isTrue()&& b1){
s1.setIt(true);
pb0=new Thread(new Runnable(){public void run(){pBar();}});
pb0.start();
}
//try{sw0.cancel(true);}catch(Exception e){System.out.println(e);}
s2.setCSzam(cszam);
s2.setAzon(azon);
sw0=new sMin();
sw0.execute();
}
Azt majd még megnézem, hogy nem-e a pb0 okozza a bajt, ami egy progressbar-t húzogat össze-vissza, mert azt még marhára nem tudom, hogy szerezzek pontos infót, az adatbázisművelet állapotáról, de arra a 2-3 mp-re nem is kell pontos infó, valamint majd átírom propertychange-re a vezérlését.[ Szerkesztve ]
-
gaben
aktív tag
válasz Lortech #1841 üzenetére
köszi.
Képfeldolgozásban kérnék egy kis segítséget.Van egy kamera, ez már be vna lőve ,ad képet.Látom a kamera képét. Nos ezt a képet ,hogyna lehetne feldolgozni?Hogy lehet ennek neki kezdeni?(látok mondjuk egy nagy akadályt és el kerülöm, erre szeretném használni)
Köszi![ Szerkesztve ]
-
Parameter
csendes tag
válasz Lortech #1947 üzenetére
public class Tomb {
public static void main(String[] args)
{
int[][] tomb = new int[10][5]; // 10 tömbből álló tömb
int szamlalo = 9;
for (int i = 0; i < tomb.length; i++)
{
for (int j=0; j < tomb[i].length; j++)
tomb[i][j] = ++szamlalo;
}
for (int i=0; i < tomb.length; i++)
{
for (int j=0; j < tomb[i].length; j++)
System.out.print( tomb[i][j] + " " );
System.out.println( );
}
JOptionPane.showMessageDialog(null, "A tömb elemei: " + tomb,
"Eredmény",JOptionPane.PLAIN_MESSAGE );Eredmény:
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
25 26 27 28 29
30 31 32 33 34
35 36 37 38 39
40 41 42 43 44
45 46 47 48 49
50 51 52 53 54
55 56 57 58 59Ebben az esetben, hol és hogy tudom megcsípni ciklussal az elemeket, hogy azokat kiírhassam egy ablakba? Nem látom át most ezt...
[ Szerkesztve ]
-
Revolit
senior tag
válasz Lortech #1953 üzenetére
Köszönöm a válaszokat. Igen, már elkezdtem bújni egy java könyvet. Rég programoztam utoljára, és amúgy sem profi szintű tudásom kissé kopottas lett, és egyre több hiányosság jön elő, úgyhogy elhatároztam, hogy újratanulom az alapoktól, persze hál' isten másodszor már könnyebben megy
[ Szerkesztve ]
-
eziskamu
addikt
válasz Lortech #1956 üzenetére
Ablakos alkalmazást megcsinosítottam
Amikor mozgatom az ablakot akkor látszik az egész, mert setLocation-al mozgatom ha az ablak tetején fogom meg egérrel (mousePressed-el kezdeti pozíció mentése, mouseDragged-el a setLocation eljárás futtatása) A mozgatás közben torzulnak is a frame elemei és el is törnek a különféle mozgásfázisoknak megfelelően. Valahogy így:
[link] -
eziskamu
addikt
válasz Lortech #1958 üzenetére
Alapból be van a NetBeans szerint, de kézzel, egyessével sincs hatása semmire.
A procihasználat 1,8GHz-s 2 magos core2-n olyan 15-20%, ha gyorsan össze-vissza mozgatom az ablakot. A winamp cibálása 10-15% ugyanilyen körülmények között.
Modjuk kikapcsoltam a ddraw gyorsítást, mert átméretezésnél nem hogy gyorsított, hanem még jobban szaggatott a kép, és a frame átméretezése nem mindig követte azonnal a benne lévő jpanel-t . Így most csak néha röccen. Mondjuk az átméretezés már megeszik 50-60 százalékot is.[ Szerkesztve ]
-
_NCT
őstag
válasz Lortech #1968 üzenetére
Aham, mostmár világos.
Lenne még egy kérdésem, igazából valahol szeretnék elindulni.
Van egy másik feladat, amiben kivételkezeléssel kellene megoldani Kör kerületének, területének számítását.
A feladat így szól: A Program Kör osztályának konstruktora kapja paraméterként egy kör sugarát! Ha ez pozitív, akkor írja ki a konzolra a kör területét, kerületét, egyébként dobjon kivételt. A Körkerületterület osztály main metódusa hozzon létre két Kör osztályú objektumot! Az egyik sugara legyen 12, a másiké -7.5 egység.
Nos evvel odáig eljutottam, hogy a try-catch kivételkezeléssel megoldottam, hogy a sugár ne lehessen kisebb mint 1.
Gondom az, hogy nem tudom szépen megcsinálni, hogy a kivételkezelés után ne fusson tovább a program, hanem kiírja, hogy "nem valós sugár". Sajnos nekem kiírja a kivételt, viszont tovább fut a progi.
Legjobban örülnék neki, ha gyorsba valaki összedobná nekem, lássam mit rontottam el.
Köszönöm előre is!!
-
_NCT
őstag
válasz Lortech #1970 üzenetére
Szia!
Ez nem a beadandó, van egy szép könyvem, amiben vannak gyakorló feladatok, és így fakultatív próbálom őket megcsinálni, s készülni a vizsgára.
Ezért jöttem ide segítségért.
Eziskamu: igen, én is erre gondoltam, próbáltam variálni a dolgokat, de úgy meg állandóan anyázott a fordító.
[ Szerkesztve ]
-
_NCT
őstag
válasz Lortech #1974 üzenetére
Értem. Tehát ha én paraméternek a main-ben negatív számot adok meg, akkor gyakorlatilag a feladat dob egy kivételt és ennyi. Ha pozitív számot, akkor tovább lép, kiírja a kerületet, területet. Amikor pedig tovább lép a main-ben ahhoz, hogy létrehozzon 2 kör objektumot, akkor is kivétel fog keletkezni, mivel az egyik az negatív sugár. És így ennyi is a feladat...Ha jól értelmezem.
Ezekszerint túlbonyolítottam a feladatot. (amúgy a könyv szerzője a vizsgáztató tanár is GDF-re járok Kaczúr Sándor-hoz prog.technológiára ).
-
_NCT
őstag
válasz Lortech #1976 üzenetére
Azthiszem a suliban picit másképp tanítják, de így is értem a lényegét, köszönöm szépen.
Azt hiszem még ezt lekell ülnöm beseggelni, meg megérteni, mit miért hogyan, mert pl ehhez hasonló feladat van a könyvben elemzéssel mindennel, de azok sokkal egyszerűbbek.
Na mind1, ha kérdésem lesz örömmel könyveltem el, hogy itt találok segítőkész embereket!
Még egyszer köszönöm, most már kedvet kaptam legalább újabb feladatok megoldásához!
-
-
-
veterán
válasz Lortech #2215 üzenetére
De, az kimaradt - a teljes kód valahogy így nézett ki:
public List<Ork_Slot> list =
Collections.synchronizedList(new LinkedList<Ork_Slot>());Ezzel nem is volt gond, de ha az új módi szerint elhagyom a második Ork_Slotot, IntelliJ 10.5 dob egy "incompatible types"-t.
[ Szerkesztve ]
And As It Is Such, So Also As Such Is It Unto You
-
pakriksz
őstag
válasz Lortech #2411 üzenetére
Aha igen így tényleg megy. És így a noduplicatelisttel is ugyanúgy "thread safe" lesz?
Más: az xml-t egy serz (ami a serialize rövidítése szinte biztos) nevű programmal tudom konvertálni oda és vissza, egy bin kiterjesztésű fájlból. A bin-be konvertált xml-ek úgy néznek ki, hogy kb tizedakkora a méretük, néhány xml szöveget ki lehet venni belőle, de nagy része olyan bináris kódos mindenféle jel. És jó lenne ha nem kéne ez a serz program a konvertálásra, viszont zárt forráskódú. Rákerestem arra java-ban binarize, amire csak annyi jött ki hogy lehet javaban bináris adatot menteni sima xml-be. Serialize-re rákeresve pedig objektumok xml-be mentése jött ki. Egyik sem éppen az ami kéne.
Ez a dolog lenne az
De nem tudom javaban honnan indulhatnék el, ez a serz program egyébként c# nyelven íródott.Troll (nemhivatalos definíció): az akinek véleménye nem tetszik nekünk/nem értünk vele egyet. (10-ből 9 fanboy ezt ajánlja) || Fanboy 8 in 1 (Intel, AMD, Nvidia, konzol, PC,+minden politikai oldal) hiszen "ahol nem mi vagyunk, ott az ellenség"
-
veterán
-
pakriksz
őstag
válasz Lortech #2435 üzenetére
nem volt, de közben rájöttem. Mindegy ez amit így objektumként ment nem valami szép xml, és azért jó lenne ha embernek is jobban olvasható lenne, úgyhogy saját xml mentést írok, csak van vele egy gond.
DOM-ot használok, be van állítva a transformernél az indent is, mégsem formázza szépre az xml-t, miközben ugyanebben a programban egy másik xml-t igen, ugyan ezekkel a beállításokkal.[ Szerkesztve ]
Troll (nemhivatalos definíció): az akinek véleménye nem tetszik nekünk/nem értünk vele egyet. (10-ből 9 fanboy ezt ajánlja) || Fanboy 8 in 1 (Intel, AMD, Nvidia, konzol, PC,+minden politikai oldal) hiszen "ahol nem mi vagyunk, ott az ellenség"
-
veterán
válasz Lortech #2433 üzenetére
Eddig kívülről - IDEből ment szó nélkül, jó volt a tipp, köszönöm.
Parancssoros futtatásnál lehet valami konfigfájlszerű dolgot mellécsapni, hogy ne kelljen minden futtatásnál ennyit gépelni?
Másik: ha Collections.sort()al szeretnék egy saját osztályokból álló konténert rendezni, van rá mód, hogy többféle komparátor metódusom is legyen? (Teszem azt, egyszer egy String mező szerint, máskor Double alapján, stb).
And As It Is Such, So Also As Such Is It Unto You
-
pakriksz
őstag
válasz Lortech #2441 üzenetére
ja úgy néz ki csak 1 thread fut.
Csináltam ezért egy tesztosztályt.
public class Tred extends Thread {
private double tőtjük=0;
public Tred() {
super();
while (true) {
tőtjük=tőtjük+Math.round(Math.random()*(Math.random()*10));
//System.out.println(totjuk);
}
}
@Override
public void run() {
super.run();
}
}
És így indítom:
public static void main(String[] args) {
new Tred().start();
new Tred().start();
new Tred().start();
new Tred().start();
}gyönyörűen beáll 1 magra... mivel 25%-os terhelés a 4 magon.
Pedig úgy indítom ahogy mindenhol írjáák és itt aztán még synchronized változó sincs.Troll (nemhivatalos definíció): az akinek véleménye nem tetszik nekünk/nem értünk vele egyet. (10-ből 9 fanboy ezt ajánlja) || Fanboy 8 in 1 (Intel, AMD, Nvidia, konzol, PC,+minden politikai oldal) hiszen "ahol nem mi vagyunk, ott az ellenség"
-
pakriksz
őstag
válasz Lortech #2444 üzenetére
és ha nincs vége a konstruktornak akkor nem indítja a többi threadet? Ez nagyon gáz. akkor ahogy látom képtelenség így létrehozáskor exceptiont dobni, ugyanis a run() "nem támogatja". Konstruktor igen
Amúgy konstruktorból átrakva a dolgokat, sikerült több magot használtatni vele. De aztán hogyan?Grafikus felületen egy listában tárolja a fenti osztály példányait, majd for ciklussal megy végig rajtuk és hívogatja meg a metódusait a user eventjeikor, viszont ugye a for megvárja az eredményt, így 1 szál fog futni egyszerre. Ilyenkor mi van?
(valami szálmenyiség maximalizálást is kéne csinálni, mert fájlokból olvas ír, és hát a vinyóknál nem valami hatékony hogy 300 szál olvasgat írogat 300 fájlt, na meg a cpu-nak is értelmetlen ennyi.)
[ Szerkesztve ]
Troll (nemhivatalos definíció): az akinek véleménye nem tetszik nekünk/nem értünk vele egyet. (10-ből 9 fanboy ezt ajánlja) || Fanboy 8 in 1 (Intel, AMD, Nvidia, konzol, PC,+minden politikai oldal) hiszen "ahol nem mi vagyunk, ott az ellenség"
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Samsung Galaxy A54 - türelemjáték
- Villanyszerelés
- Azonnali alaplapos kérdések órája
- A fociról könnyedén, egy baráti társaságban
- (nem csak) AMD FX / Ryzen tulajok OFF topikja
- Yettel topik
- Azonnali VGA-s kérdések órája
- Háztartási gépek
- A pápa egyre jobban tart a romlott AI veszélyeitől
- gban: Ingyen kellene, de tegnapra
- További aktív témák...