- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- Mr. Y: Motoros sztorik #06
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- NASsoljunk: ZyXEL NSA-310 és az FFP
- Őskoczka
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
pakriksz
őstag
Hogy lehet úgy kiírni fájlba a módosított xml-t hogy azokon a nodeokon kívül amit én a programban módosítok semmi mást sem változtat?
Mert pl felcserél attribútumokat, berak olyat ami előtte nem volt, stb.
pl ilyet is:
eredeti <BlueprintID d:type="cDeltaString"></BlueprintID>
úk <BlueprintID d:type="cDeltaString"/> -
pakriksz
őstag
válasz
ArchElf #2398 üzenetére
Aha köszi, bár nem pontosan így értettem, de majdnem, és így látva egy példát már kezdek rájönni hogy működik ez, és persze a programban is működik. Még annyit hozzátennék, hogy stringnél az xpath querybe "" között szóval kell pár \" is. Ezért egyébként nem szól, viszont ha nincs ""-ben akkor nem fog soha sem eredményt adni.
-
pakriksz
őstag
válasz
ArchElf #2395 üzenetére
jó ezt tudom, de egy lekérdezésbe ezt hogy?
Na meg azt is valahogy meg kellene oldani utána, hogy van egy provider product, és blueprintid trió és ezekre textjére együtt rákeresni, úgy hogy csak azt dobja ki ahol ez a 3 dolog pontosan egyezik a keresettel, ahol a 3 ból egyik nem egyezik ott már nem.
-
ArchElf
addikt
válasz
pakriksz #2394 üzenetére
iBlueprintLibrary-cAbsoluteBlueprintID <- erre kell keresni, mert ez egyértelműen megadja az összes olyan node-ot ami neked kell.
A gyökérre:
//iBlueprintLibrary-cAbsoluteBlueprintIDAz elemekre, ha nem lépkedni akarnál
iBlueprintLibrary-cBlueprintSetID/Provider
iBlueprintLibrary-cBlueprintSetID/Product
BlueprintIDAE
-
pakriksz
őstag
Hello, javas xpath segítség kellene nekem.
Egy ilyen felépítésű xml-ből bármilyen mélységben (<BlueprintID> fölötti rangú dolog is van, ez csak egy kis részlet) kéne az "EZ", "MEGEZ", "ÉSEZ" nevezetű szövegeket tartalmazó nodeok, tehát a provider, product, és blueprintID, úgy hogy a felső blueprintID lehet más nevű tag is de eszerint lehet keresni az xml-ben, de az alatta lévő tehát <iBlueprintLibrary-cAbsoluteBlueprintID>-től kezdődő dolgok mindig fixek.
<BlueprintID>
<iBlueprintLibrary-cAbsoluteBlueprintID>
<BlueprintSetID>
<iBlueprintLibrary-cBlueprintSetID>
<Provider d:type="cDeltaString">EZ</Provider>
<Product d:type="cDeltaString">MEGEZ</Product>
</iBlueprintLibrary-cBlueprintSetID>
</BlueprintSetID>
<BlueprintID d:type="cDeltaString">ÉSEZ</BlueprintID>
</iBlueprintLibrary-cAbsoluteBlueprintID>
</BlueprintID>például mitkeres="BlueprintID"
most úgy megy hogy XPATH.compile("//"+mitkeres+"/iBlueprintLibrary-cAbsoluteBlueprintID/..");Azért keres az iBlueprintLibrary-cAbsoluteBlueprintID-ig majd annak szülőjét adja vissza mert mint látható 2 ugyanolyan nevű tag-van másra használva, és így van meg biztosan a külső.
Majd ezután egy saját metódus lépked bele a childokba addig amíg a 3 keresett taget meg nem találja. De talán ezt meg lehetne csinálni ezek nélkül is 1 db xpath lekérdezéssel, de az xpath leírások eléggé összecsapottak, nem tudom hogy kéne kinéznie egy ilyen lekérdezésnek. Valaki tud valami tippet erre?
-
vacs
veterán
válasz
InfiniteReality #2391 üzenetére
Ez egy céges gép, és a rajta lévő progi a frissítés óta nem megfelelően működik.
Honnét szedjem le az előzőt ?És ha csinálok egy rendszer visszaállítást ?
-
vacs
veterán
Sziasztok.
Hogyan lehet xp-n a pár napja telepített Java frissítést eltávolítani?
Azt szeretném, hogy a frissítés előtti verzió legyen fennt. -
Gyuri16
senior tag
Bruce Eckel: Thinking in Java
a weboldalon le is lehet tolteni (igaz csak a regebbi verziot) ingyen. az ujabb verzio sem tul uj, viszont elindulni szerintem jo.masik konyv az Effective Java. igaz ezt meg nem olvastam, de szoktak ajanlani. rajta van a listamon
-
cucka
addikt
Sziasztok!
Tudnátok javasolni valamilyen Java könyvet, ami gyorsan és alaposan elmagyarázza az alapokat? Valami olyan könyv érdekelne, ami SE vagy EE-vel foglalkozik és olyan embereknek készült, akik már programoztak más nyelvekben, de a Java-t most kezdik. Angolul kéne, szóval mindegy, hogy van-e belőle magyar kiadás.(Úgy néz ki, hamarosan Java programozót kell faragnom magamból, lehetőleg nagyon gyorsan
)
-
gaben
aktív tag
válasz
Murphistic #2386 üzenetére
ahan, a 0 volt a gond
A hiba meg már nem tom miért volt, de megoldódott.
Köszi! -
Murphistic
aktív tag
-
gaben
aktív tag
Meg GregorianCalendar akcio_datum= new GregorianCalendar(2011, 12, 15, 0, 0, 0);
akcio_datum.getTime();
Az utóbbi dátumot ad vissza, ezt beleteszem egy Date tpusú változóba és amikor kíratom a képernyőre string-ként, akkor 2012.01.15 0 0 0 eredményt kapok. :Y Mit csesztem el? -
gaben
aktív tag
válasz
Murphistic #2383 üzenetére
Először én is úgy próbáltam, de hibát dobott.
na sikerült összehozni végül, igaz más módon.datum = Calendar.getInstance();
datum.set(Calendar.YEAR, 2011);
datum.set(Calendar.MONTH, 12);
datum.set(Calendar.DAY_OF_MONTH, 15);
datum.set(Calendar.HOUR_OF_DAY, 0);
datum.set(Calendar.MINUTE, 0);
datum.set(Calendar.SECOND, 0);Azt szeretném csiinálni ,hogy 2 dátum közötti eltelt napok számáz, órát, percet akarom lekérdezni. Úgy gondoltam ,hogy lekérdeztem a két dátum esetén a millisec-et, és a kettőt kivontma egymásból. Ekkor megkapok egy számot és ha azt osztom 1000*60*60- al akkor megkapom ,hogy hány óra van a két dátum között, ha ezt tovább osztom 24 -el akkor a napokat. De a baj az ,hogy téves számot kapok, ha így csinálom. Mit rontottam el?
-
gaben
aktív tag
válasz
Murphistic #2380 üzenetére
áhh, dehogy akarok nagyon eredetit, csak legyen egy alap kék háttér ,meg a kiíraások és a számláló, de ez sem akar működni. Ment egy mail.
-
Murphistic
aktív tag
A ma délután írt hozzászólásomban írt kód működött. Viszont a tesztemben volt annyi körítés hozzá, hogy az ablakban volt egy gomb is és a számláló csak arra kattintva indult el, de ez szerintem nem számít.
A kód egyébként így az alapértelmezett megjelenítést használja. Én pl. a NetBeans-ben állítottam be, hogy milyen színű legyen a JLabel.
Egyébként nagyon eredeti megelenítést akarsz? Mert akkor tényleg a Graphicsos megoldást kéne megtalálnunk
. Annyit olvastam, hogy az update eljárás békén hagyja a hátteret és meghívja a ComponentUI osztály update függvényét. Itt elvesztettem a fonalat, hogy miért nem működik ( esetemben a végén eltűnt a kiírt szöveg csak a háttér maradt )
-
gaben
aktív tag
válasz
Murphistic #2378 üzenetére
Szia!
Igen délután én is szórakoztam vele, és nekem is hol eltűnt a szöveg, hol a terület fele fehér volt ,a másik fele meg a kívánt szín, hol dobott egy csomó hibát, szóval akár hogy próbáltma ,sehogy nem jött össze.Köszi amúgy ,hogy foglalkoztál vele.
És amúgy neked működött a 2. mód? Mert nekem nem akar.
Nem frissíti a számolást. Csak a kezdeti értéket látom. -
Murphistic
aktív tag
Megint próbálkoztam egy kicsit. Sajnos most olyan hibával találkoztam, hogy ugyan szépen frissíti a képet a kód ( az is, amit elsőnek írtál ), de a végén, amikor kilép a ciklusból eltűnik a kiírt szöveg. Mintha ezt a Java update hívásai okoznák, sajnos a megoldásra még nem jöttem rá.
Viszont ha csak egy számláló kiírása a cél, akkor szerintem egyszerűbb egy JLabel-t használni erre a célra, amit pl. NetBeansben is vagy saját prancsokkal testre szabsz ( háttérszín, betűméret, betű színe, típusa )
Csináltam egy osztályt, aminek a konstruktorában beállítod, hogy melyik JLabel számoljon és utána meghívod a start-ot.
class IdoThread extends Thread{
JLabel label;
public IdoThread(JLabel label)
{
this.label=label;
}
public void run(){
int ido=0;
while(ido<5){label.setText(""+ido);
label.update(label.getGraphics());
try{
Thread.sleep(1000);
}catch(InterruptedException ie){
ie.printStackTrace();
}
ido++;}
}
}Valahol a programkódban, ahol szükséged van a számláló elindítására ( pl. egy gombra kattintva ) beszúrod ezt:
IdoThread it=new IdoThread(jLabel1);
it.start();Ennek még az is az előnye, hogy nem blokkolja az alkalmazásod felületét, tehát a számláló akkor is megy, ha mondjuk gépelsz a programodban, vagy így használható lesz egy másik gomb is, ami mondjuk a számláló leállítására szolgál.
Úgy néz ki, hogy a tegnap esti megoldásom egy elég nagy katyvasz lett
és nem valószínű, hogy működni is fog.
Nem tudom, hogy ennyi megoldja-e a problémádat, mert az tényleg furcsa, hogy nem akar működni a kirajzolás a Graphics-on.
-
Murphistic
aktív tag
Hmmm.
Most olyasmi jutott még eszembe, hogy az update() hívása nem-e egy másik szálban fut le, ami az aktuális szál lesz és emiatt a sleep dob egy kivételt és emiatt a vibrálás.
Esetleg ki lehetne próbálni az updatet egy külön szálonmeghívni, így nem az lenne az aktuális.
Akkor megpróbálnám így: ( az updatet egy külön szálban hívnám meg )
//Egy külön osztály az update meghívására
class UThread extends Thread{
Graphics g;
JFrame jf; //nem tudom hogy JFrame-e a super típusa a mintádban
public UThread( Graphics g, JFrame jf )
{
this.g=g;
this.jf=jf;
}
public void run(){
jf.update(g);
}
}ido++;
nap.setText(""+ido);
g.drawString(nap.getText(),10,90);UThread ut=new UThread(g, super);
ut.start(); //meghívjuk az updatet
try{
Thread.sleep(1000);
}catch(InterruptedException ie){
is.printStackTrace(); //kiírjuk az esetleges hibainformációt
}Remélem nem írtam el semmit, most sajnos nincs alkalmam a kód ellenőrzésére.
-
gaben
aktív tag
válasz
Murphistic #2375 üzenetére
Szia!
Sajnos nem. Ha előtte hívom meg ,akkor nem fog jól látszani a számlálás másodpercenként, mivel a super.update(g) is folyamatosan hívódik, így "nagy vibrálás" lesz az egész. Meg egy pár másodperc után Exception in thread "AWT-EventQueue-1" java.lang.StackOverflowError lesz.A while ciklus miatt van, de nem tudom miért. A "szál nem tud rajzolni", mert benne van a ciklusban??
-
Murphistic
aktív tag
Szervusz!
Az nem lehet a gond, hogy a super.update(g) -t azután hívod meg, hogy 1 másodpercet őihent a szálad és utána azonnal módosítja a kiírt számot?
Én így próbálnám meg:
g.drawString(nap.getText(),10,90);
super.update(g);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {} -
gaben
aktív tag
Viszont lett egy újabb gond
Mégpedig az, hogy ha egy ciklusban folyamatosna frissítem az egyik kiírt dolgot (számláló), akkor addig a kirajzolt terület háttere fehérré változik, utána pedig visszavált az általam beállítottra. Ez miért van? Mit hagytam figyelmen kívül? Ja és a kirajzolt betű típus és betű szín az nem változik, csak a háttér.Color hatterszin=new Color(0,153,255);
Color betuszin=Color.black;
Font font=new Font("ARIAL",Font.BOLD,12);
setBackground(hatterszin);
g.setColor(betuszin);
g.setFont(font);
.........................................
........................................
while(ido<5){
ido++;
nap.setText(""+ido);
g.drawString(nap.getText(),10,90);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
}
super.update(g);
} -
gaben
aktív tag
köszi
-
gaben
aktív tag
Sziasztok!
Java. awt-ben lévő paint( Graphics g) -t használom néhány dolog megjelentésére. Stringet íratok ki. A lényeg az lenne, hogy bizonyos időközönként a kiírásnak frissülni kellene, ez frissül is, de a régi "ott marad" és az újat ráírja. Hogyan lehet ezt a problémát megoldani, hogy a régi törlődjön? -
chungee
addikt
Sikerült. Köszi!
-
Karma
félisten
válasz
chungee #2367 üzenetére
1) Telepítesz egy JRE-t a java.com-ról.
2a) Ráenterezel a JAR fájlra.
-- vagy --
2b) Indítasz egy parancssort, és abban cd paranccsal elmész a Java programod könyvtárába, majd beírod azt, hogy java -jar <a fő JAR fájl neve> (relációs jelek nélkül, természetesen).
-- vagy --
2c) Total Commanderben odamész, és ott írod be az előző parancsot. -
chungee
addikt
Estét!
Van néhány jar kiterjesztésű fájlom. Pontosabban kaptam. Hogy tudom futtatni őket
Fenn van a legújabb JAVA. De hogy használjam
-
válasz
Rison77 #2362 üzenetére
Nincs mit, sok sikert hozzá.
Leginkább maga a megírása hosszadalmas, amíg minden karaktert bepötyögsz, hogy minek mit feleltetsz meg. Ha annyi kikötést teszel a feladathoz, hogy csak az angol ABC betűit használhatod, mint bemenő szöveg, akkor valamelyest gyorsabban végzel. -
-
Rison77
senior tag
válasz
csabyka666 #2358 üzenetére
Köszönöm az ötletet, értem hogy gondoltad, délután nekilátok.
Gyuri16 : Igen, ez csak egy szimpla kezdő programozós iskolai feladat, nem lényeges a biztonság.
-
ArchElf
addikt
válasz
csabyka666 #2360 üzenetére
Ennél a ROT13 egyszerűbb, és nem is sokkal kevésbé hatékony... Java-ban vannak beépített crypto algoritmusok, csak körbe kell nézni
Vagy mi a cél? Implementálni szeretnél egyet? Kitalálni egy újat?AE
-
válasz
Gyuri16 #2359 üzenetére
Persze, teljesen igazad van. Amit írtam, az is lineáris futási idejű.
A kiírásból úgy értelmeztem, hogy a cél szöveg titkosítása, illetve dekódolása. Erre ez egy kézenfekvő (fapados) módszer. Itt a hatékonyság - szerintem - nem mérvadó, sokkal inkább az egyszerűség, ami számít.
-
Gyuri16
senior tag
válasz
csabyka666 #2358 üzenetére
nincs sokkal hatekonyabb algoritmus, ha a futasi idot nezed. linearis idonel jobbat nem tudsz csinalni. masik kerdes a biztonsag. ezt a titkositast ha eleg hosszu a szoveg akar papiron is fel lehet torni.
megfelelo kriptografia hasznalata bonyolultabb kerdes, attol fugg a kerdezonek mire kell. ha egy iskolai feladat kezdo programozonak, akkor akar lehet ezt is implementalni, ha viszont tenyleg titkositas a cel, akkor valamilyen szabvanyos algoritmust erdemes hasznalni. -
válasz
Rison77 #2357 üzenetére
Egy ötlet: Feltöltesz egy String típusú tömböt valamilyen szöveggel. Egy ciklussal végigmész a beírt szöveg karakterein (0-tól a tömb méretéig), és minden egyes karakternek megfeleltetsz egy másikat. Ezt eltárolod egy segédtömbben oly' módon, hogy amelyik karaktert vizsgálod, a segédtömböd annyiadik helyére beteszed az olvasott karakternek megfeleltetett karaktert. Így jóeséllyel egy teljesen értelmetlen szöveget kapsz.
Dekódolásnál ugye az a fontos, hogy ismerd a szabályt, ami alapján kódoltál. Ilyenkor megcsinálod ugyanezt a megfeleltetést, csak ebben az esetben a segédtömbön mész végig (0-tól a tömb méretéig), és fordított irányban adod meg az értékeket.Ha elég egy fapados megoldás is, akkor sima switch-case módszerrel megoldhatod.
Gondolom, van sokkal hatékonyabb algoritmus is erre a célra (ezt majd a pro emberek megmondják), de ha neked ebben az esetben nem fontos a futásidő, akkor a fent említett módszer tökéletesen megfelel.
Próbáltam érthetően leírni. Ha mégsem lenne tiszta valami, írj bátran.
-
Rison77
senior tag
Sziasztok,
Tud valaki esetleg segíteni, hogy lehet a legegyszerűbben egy olyan programot csinálni, ami a beírt szöveget titkosítja valamilyen módon, majd dekódolja? -
bambano
titán
Van egy glassfishbe deployolt webes alkalmazásom. Ebből szeretnék elindítani egy shellscriptet, ami sokáig fut, de nem akarom megvárni a végét.
Tudnátok valami jó megoldást adni arra, hogy ezt hogyan érdemes? -
Lacces
őstag
Sziasztok!
Adott volt ez a TreeMap
private Map<Sör, Integer> sörök = new TreeMap<Sör, Integer>();És csak eme 3 névteret lehetett használni:
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;És kellett hozzá írni egy feltöltő metódust. Nézegettem a neten és az alábbi 2 megoldást találtam. Én az előbbit csináltam meg, ami hosszabb a másiknál.
A kód nem fordul le, mert a Java fordító kérte, hogy Compare interfészt is valósítsak meg a Sör osztályra, mert a Treemap Key-je egy BST-ben van rendezve. Ugyanezt a metódikát követve C#-ban összejött.
Kérdésem az lenne, hogy melyiket érdemes használni a kettő közül? És miért?
(Ilyen ForEach-es bejárás esetén, külön-külön találtam őket, és mindkettő jónak tűnik, elméletben)Map.Entry<Key, Value> VS. KeySet() - érdekel melyiket érdemesebb használni
De ha van más ötlet is, akkor azt is szívesen fogadok, tanulni, fejlődni is akarok suli mellett. De én magamtól e 2 megoldásra jutottam
Én így írtam meg.
public void feltölt(Sör sör, int dl) {
int d = 0;
Sör s = null;
for (Map.Entry<Sör, Integer> item : sörök.entrySet()) {
if (item.getKey().equals(sör)) {
d = item.getValue();
s = item.getKey();
}
}
if (s != null) {
sörök.put(s, d + dl);
}
else{
sörök.put(sör, dl);
}
}Másik rövidebb verzió:
public void feltölt(Sör sör, int dl) {
int dec;
for (Sör s : sörök.keySet())
if (s.equals(sör)){
dec = sörök.get(s);
sörök.put(s,dec + dl);
return;
}
sörök.put(sör, dl);
} -
adam_
senior tag
Adott ez a programkód:
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
try{
if(rs.getString("TVnev") == "Huba")
{
t.setBackground(Color.red);
}
else
{
rs.next();
t.setText(rs.getString("TVnev"));
t1.setText(rs.getString("TKnev"));
t2.setText(rs.getString("TKor"));
t3.setText(rs.getString("TTit"));
}
}catch(Exception ex)
{
}Arra szeretnék rájönni, hogy ha léptetem a mezőket gombbal a programban, és ha pl. egy adott értékre, jelen esetbe Huba nevű mezőt észlel akkor pirossal színezze ki az adott TextFieldet. Ez a programkód sajnos nem csinálja azt. Hogyan módosítsam, hogy ezt csinálja? És ha pl, ugyanezt számokkal szeretném eljátszani, akkor mi a teendőm? Pl. ha valaki eléri a 50 pontot, annak a nevét színezze pirosra...
Előre is köszönöm az észrevételeket!
-
-
Doyle
tag
válasz
csabyka666 #2349 üzenetére
Használd a NetBeans 6.9.1-et azzal sosincs gond
-
Üdv!
"JAVA programozás" tantárgy keretein belül a NetBeans 7.0.1.-es fejlesztői környezetét használom. Leszögezném, hogy nem vagyok profi programozó.
A problémám a következő. Grafikus felületen programozok, és elég gyakran produkálja azt a NetBeans, hogy a behúzott Frame-eket nem jeleníti meg a futtatás során. Értem ezt úgy, hogy egy gomb vagy menüelem eseményénél láthatóvá teszem az InternalFrame-et, és 10-ből 8-szor nem nyitja meg. Mintha nem lenne felprogramozva az adott gomb vagy menüelem.
Ha ilyenkor kicsit állítok az ablakok méretén, akkor újra jó, de a következő futtatásnál megint átméretezi a saját kedve szerint az InternalFrame-ket, és kezdhetem megint manuálisan visszaállítgatni, hogy működjön. Mit ne mondjak, nagyon idegesítő.
Olyan is előfordul, hogy egy projekt tökéletesen lefut, elmentem, kilépek a NetBeans-ből, majd újra belépek, futtatom a projektet, és megint nem nyílnak meg a belső ablakok. (persze a projektben semmit sem módosítok)Próbálkoztam azzal, hogy megadok egy minimum és egy maximum méretet, de eredménytelen.
Valakinek van ötlete?
MOD: a NetBeans-t mindig frissítem, amint található valami update...
Köszi!
-
Gyuri16
senior tag
jdbc kerdesem lenne. van egy date tipusu mezom, amit prepared statementes setDate-el akarok feltolteni, viszont a gond az, hogy igy csak a datumot menti el, az orakat kinullazza. neten azt talaltam, hogy ez igy van jol, viszont nekem kellene oda a pontos ido is (a mezo tipusat nem lehet megvaltoztatni). kiprobaltam setTimestamp-et ugyanerre a mezore, es mukodott is (az idot is elmentette), viszont nem tudom ez mennyire megbizhato. van valakinek tapasztalata ezzel, mit kellene csinalnom?
-
Jano
senior tag
Sziasztok!
Tud valaki, olyan zip java library-t, ami ingyenes felhasználható kereskedelmi célú programokban is, és ki lehet vele nyerni a unix jogosultságokat, amikor kicsomagolok egy zip fájlt. Eddig az org.apache.commons.compress-el [link] próbálkoztam, ami tar file-ok esetén kinyeri a jogosultságokat, viszont zip fájlok esetén nem, hiába próbálkozom a getUnixMode metódussal mindig 0-t ad vissza. Pedig előtt egy másik általam írt java programmal tömörítem be a fájlt ahol beállítom a jogosultságokat (setUnixMode), illetve próbáltam már Unix parancssoros zip-el is betömörített fájlt is.
-
ther
aktív tag
válasz
ArchElf #2345 üzenetére
Én valahogy így oldanám meg:
1.) Két külön dupla ciklust írnék egymás után, az elsőben a belső ciklus soronként járja be a mátrixot, másodikban oszloponként. Azokat a 0-kat menteném ki, melyek "magányosak" a saját sorukban vagy oszlopukban. Ha egynél több 0 van, akkor már felesleges kimenteni őket. Attól függően hogy épp sorokban vagy oszlopokban kerestük, külön kollekcióba gyűjteném ki.
2.) A két kollekció tartalmát összevetném, és az egyező elemeket kigyűjtve meglennének a függetlenek.
-
ArchElf
addikt
válasz
ducikma #2344 üzenetére
Pl.
1) Normál bejárással összeszedni az összes nulla mező pozícióját, beletenni egy listába
2) újabb (dupla) ciklusban végig nézni a listát, hogy van e azonos sorú, vagy oszlopú pont. ezeket betenni egy újabb listába
3) különbséget kell képezni az 1. és a 2. pontban képzett listák között. Ami az 1. ból marad azok a független elemek.AE
-
ducikma
csendes tag
Helló! Valaki nem tudna kreálni nekem egy olyan algoritmust ami bármilyen méretű mátrixban(2 dimenziós tömb) képes megkeresni az egymástól független 0-kat majd ezek koordinátáit belerakni egy másik változóba?(A független nullák azt jelentik hogy a mátrixnak minden sorában és oszlopában csak egy kijelölt nulla lehet) Már napok óta próbálkozok de eddig nem jutottam megoldásra. Ha valaki unatkozik és meg tudja csinálni akkor azt megköszönném. Nem muszáj hogy programkód legyen, csak akkor magyar nyelven érthetően írjon le valaki egy jó algoritmust szövegesen, ami alapján már megcsinálhatom. Előre is köszi ha valaki segít!
-
Devdi
aktív tag
válasz
Sk8erPeter #2342 üzenetére
Az enyém azért költséghatékonyabb... Míg a tiedhez 5 karaktert kell átírni addig az enyémnél csak 4
De amúgy igen elismerem, a tied szebb
-
Sk8erPeter
nagyúr
Mondjuk ehelyett a sok i-1-es szenvedés helyett szerintem szebb lenne úgy, ha 0-tól inicializálnád az i-t, és csak a kiíratásnál, tehát azon az egy helyen adnál hozzá 1-et.
System.out.println("Kerem az " + (i+1) + ". szamot:");
De ne vedd magadra, tudom, hogy az EREDETI kódban javítottad csak a hibát, csak akkor már legyen teljes a korrekció. -
Devdi
aktív tag
válasz
[pod]Diablo #2339 üzenetére
Próbáld meg így:
int szamok[] = new int[5];
BufferedReader be = new BufferedReader(new InputStreamReader(System.in));
for (int i = 1; i < 6; i++) {
System.out.println("Kerem az " + i + ". szamot:");
szamok[i-1] = Integer.parseInt(be.readLine());
System.out.println("Az elso szam: " + szamok[i-1]);
} -
Honkydoo
őstag
válasz
[pod]Diablo #2339 üzenetére
Üdv,
Még én is kezdő vagyok, de talán az integer változókat konvertáld előbb stringgé hogy össze tudd fűzni egy stringgel.
Honkydoo
-
[pod]Diablo
őstag
Udv!
Javaban meg eleg kezdo vagyok,es nembirok rajonni hogy itt mi lehet a hiba:
for(int i = 1;i<6;i++)
{
BufferedReader be=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Kerem az "+i+". szamot:");
szamok[i] = Integer.parseInt(be.readLine());
System.out.println("Az elso szam: "+szamok[i]);
}Elore is koszonom a segitseget!
-
lakisoft
veterán
Hát ez így nem túl igazságot - ha mákod van akkor kemény feladatot kapsz 5-ös szintű és beírod ide itt megcsinálják beadod és meg van az ötös. Aki meg saját maga geccsol egy 3-as szintű feladattal az meg megkapja a kis 3-asát. Azonos nehézségű feladatot nem tudott összeválogatni a tanárod?
-
Doyle
tag
Már megoldottam
eszembe jutott
-
Doyle
tag
Sziasztok! Egy kis segítséget kérnék tőletek van egy feladat amivel nem jutottam tovább
azt kellene csinálni hogy gombnyomásra változzon a háttérszín a gombok és a panel megvan
de a színváltoztatás nem megyitt a feladat: FELADAT
Köszönet
-
Lacces
őstag
Sziasztok!
Eclipse-ben a Package Explorerben, van nekem egy Java Projectem, amelyben néhány SourceFolder található.
1.Kérdésem az lenne, hogyan lehet azt elérni, hogy a SourcFoldereket abc-s betűrendbe rendezze a Java Projectben belül? (Hozzáadás dátuma szerint rendezné)
2. Illetve hogyan lehet egy mappát megnyitni Java Projekt fájlként?
Ugyanis én csak annyit látok a winyon, hogy egy könyvtárat hozz létre azzal a névvel, ami a Project neve, de úgy mint a VS-ben semmilyen speckó fájlt nem látok erre (vagy CodeBlocks és társainál) -
Lortech
addikt
Ha még aktuális, illeszd be a kódot úgy, hogy bemásolod azt a hozzászólás írása szövegdobozba, kijelölöd, majd rányomsz a programkód gombra az alsó sorban, ezáltal a fórummotor nem fogja dőlt formázásként értelmezni az [I]-ket, melyek nálad tömb indexet jeleznének, és ugyanazt fogjuk látni mi is, mint amit beszúrtál.
-
Warriv
csendes tag
Sziasztok!
Van egy igen rövid kódom, a 6*6-os alsó háromszög mátrix kiírására.
public class Tombahm {
public static void main(String[] args) {long [][] ahm = new long [6][];
for (int i = 0; i > ahm.length; i++)
ahm = new long [i+1];for (int i = 0; i < ahm.length; i++)
for (int j = 0; j < ahm(i).length; j++)
ahm(i)[j] = (long)(Math.random()*2005+1);System.out.println("Az ahm tömb tartalma: ");
for (int i = 0; i < ahm.length; i++)
for (int j = 0; j < ahm(i).length; j++){
System.out.print(ahm(i)[j]);
System.out.println();
}
}}
A kódot lefordítva ezt a hibaüzenetet kapom:
Exception in thread "main" java.lang.NullPointerException
at Tombahm.main(Tombahm.java:11)Valami nem tetszik neki a Math.random()-ban, de ötletem sincs hogy mi lehet a baj. Kérlek segítsetek!
-
rt06
veterán
válasz
ArchElf #2312 üzenetére
sajnos ez esetemben nem megoldas, terveim szerint nem is lesz input field
a cel egy opera extension lenne, ahol a javascript oldalbetoltes, vagy tabvaltas utan lekeri az aktualis tabhoz tartozo host A es AAAA rekordjat, valamint a helyi szamitogep ipv4 es ipv6 cimeit, majd ezek alapjan megtippeli, hogy az adott oldal ipv4, vagy ipv6 protokollon keresztul erte-e el a felhasznalo (kb ugy mint itt)amugy a fenti modon sikerult megkerulnom a problemat, annyi elteressel, hogy a nevfeloldas utan a java allpet meghiv egy javascript fuggvenyt az ipcimeket parameterkent atadva annak
ezt kovetoen viszont felmerult megegy problema (miszerint az extension betoltese utan mindossze par masodpercig latszik taskmanager-ben a jvm), de gyanitom, ez mar nem ide kotodik (mezei html-be agyazva es azt megjelenitve kifogastalanul mukodik a dolog)
-
rt06
veterán
válasz
ArchElf #2307 üzenetére
no, most, hogy mukodik rendesen az applet (forras: sajat kod + dnsjava), ez a masodik - javascript-re vonatkozo - resz okoz problemat
az applet betoltodesekor lefut annak init fuggvenye, es gyonyoruen kiirja java konzolba mind a helyi, mind a tavoli gep ip cimeit (pontosabban egyelore par beegetett tavoli szerver ip cimeit a teszt kedveert)
Local machine hostname: voskhod-1
Local IPv4 addresses:
Local IPv6 adresses: 2a01:368:e10d:0:0:0:0:20
Remote IPv4 addresses: 209.85.148.99 209.85.148.103 209.85.148.104 209.85.148.105 209.85.148.106 209.85.148.147
Remote IPv6 addresses: 2001:4c48:1:d5:0:0:2:1b 2001:4c48:1:d5:0:0:1:1bviszont mikor kezzel hivom meg jmk.hu/temp/java/indicator/scripts/index.jsa fuggveny(eke)t, nem kapok eredmenyt, csak egy ilyen hibat:
java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.1:53 connect,resolveitt, ha jol sejtem (es jol ertelmezem a google talalatokat), pontosan az okozza a problemat, amit fentebb irtal, miszerint a javascript-bol meghivott java kod insigned kodkent kerul futtatasra, s igy sem a helyi halozati eszkozoket nem tudom lekerni, sem a dns szerverhez (az lenne a 192.168.0.1:53) nem tudok kapcsolodni
kerdesem az lenne, hogy van-e valamilyen mod ennek megkerulesere
egy lehetseges megoldasra tudok gondolni, hogy js-bol beallitok egy valtozot a java kodban, majd egy timer esemenyre meghivodo fuggveny elvegzi a valtozoban tarolt domain ip cimekre torteno feloldasat, az eredmenyt pedig egy masik string-be irja es eldob egy esemenyt, amit javascript oldalon elkapok (ha lehet egyaltalan ilyet), s ennek hatasara a javascript kiolvassa a valtozok erteke
viszont ez elegge favago megoldas, jo lenne valami ertelmesebbet hasznalni, ha van ra mod -
Lacces
őstag
Picit továbbhaladtam a példában. Elég érdekes amit írt, de nekem kérdőjel maradt benne.
Van ez a két sor:
kk = vv;
System.out.println(kk.plusz(new Valos(9)).toString());Az első sor még ok, hogy itt dinamikus típus lesz, Komplex deklarált, és valós.
Viszont a második sornál a magyarázatot a példában nem értettem meg, hogy akkor most mi va...
kk dinamikus típus lesz. és meghívjuk a plusz metódust, amelynek a paramétere valós.
public Komplex plusz(Komplex k){ // Komplex osztályban
System.out.println("K + K: "+toString() +" + " + k.toString());
return new Komplex(re+k.re, im+k.im);
}
public Komplex plusz(Komplex k){ // Valos osztályban
System.out.println("V + K: "+toString() + " + " + k.toString());
return new Komplex(re+k.re, k.im);
[I]Az eredmény egyik sora: V + K: (7.8) + (9.0) [/I]lesz
}
public Valos plusz(Valos v){ // Valos osztályban
System.out.println("V + V "+toString()+ " + " + v.toString());
return new Valos(re+v.re);A magyarázat olyan, hogy dinamikus kötést alkalmaz. Ez rendben van, de miért?
1.Azért mert kk Komplex deklarált, de Valos Konstruktor hívás van, ezért egyből a Valos osztályból keresi hozzá a plusz metódust?
2. Vagy azért, mert Komplex osztályban nincs plusz() metódus amelynek a paraméter Valos szám!, és ezért a gyermek osztályban keres hozzá!Most ilyenkor egyből megy a deklarált osztályba, vagy abba az osztályba megy a fordító, ahol megvan híva az objektum konstruktora?
-
Lacces
őstag
Sziasztok!
Osztály és Öröklés a mostani hsz-m témája:
Adott:
Komplex kk = new Komplex(3.4, -5.6);
Komplex kv = new Valos(1.2);
Valos vv = new Valos(7.8);Engem csak a Komplex kv = new Valos(1.2); érdekel, ezt azért hívják dinamikus típusnak, mert a deklarált típusa és a példányosítás (konstruktor hívás), más - más osztályhoz tartozik?
System.out.println(kv.plusz(kv).toString());
És ilyenkor mindig a kv.plusz() esetén az dönt, hogy melyik osztály konstruktora hívodik meg?
Ennek alapján felállítottam magamnak egy mondókát:
Függvényhívásnál a Konstruktor hívás számít; Paraméter típusnál a deklarált típus számít!
Ez így elfogadható? -
ArchElf
addikt
Szerintem (találtam
)
Unsigned applets cannot perform the following operations:They cannot access client resources such as the local filesystem, executable files, system clipboard, and printers.
They cannot connect to or retrieve resources from any third party server (any server other than the server it originated from).
They cannot load native libraries.
They cannot change the SecurityManager.
They cannot create a ClassLoader.
They cannot read certain system properties. See System Properties for a list of forbidden system properties.És még:
Note:JavaScript code is treated like unsigned code.
When a signed applet is accessed from JavaScript code
in an HTML page, the applet is executed within the
security sandbox. This implies that the signed applet
essentially behaves likes an unsigned applet.AE
-
rt06
veterán
Hi!
szeretnek irni egy java applet-et, de a html-be agyazasnal problemakba utkoztem
a cel az lenne, hogy az applet funkcioit javascript-en keresztul meg tudjam hivni, ami mukodik is, viszont ekkor az alkalmazas elszall exception-nel, mondvan nem talal bizonyos class-okat
ami miatt az egeszet nem ertem, az az, hogy az applet eclipse alol inditva az appletviewer-rel tokeletesen mukodikaz altalam irt java kod:
package hu.jmk.ipv6;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.xbill.DNS.*;
public class IPv6Indicator extends Applet {
static final long serialVersionUID = 0x1;
public void paint(Graphics g) {
setBackground(Color.blue);
g.drawString("[" + getAddress("jmk.hu") + "]", 10, 20);
g.drawString("6!", getWidth() / 2, getHeight() / 2);
}
public String getAddress(String hostName) {
String hostAddress = null;
try {
InetAddress inetAddress = Address.getByName(hostName);
hostAddress = inetAddress.toString();
} catch (UnknownHostException e) {
hostAddress = "exception";
}
return hostAddress;
}
}a hivatkozott dnsjava csomag
a html, amibe beagyazni kivanom:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
<script src="scripts/index.js" type="text/javascript"></script>
<title>IPv6 indicator</title>
</head>
<body>
<div>
<object id="dnsapplet" classid="java:hu.jmk.ipv6.IPv6Indicator.class" archive="IPv6Indicator.jar" type="application/x-java-applet" mayscript="true" scriptable="true" height="100" width="100">
<param name="archive" value="IPv6Indicator.jar"/>
<param name="codebase" value="applets"/>
<param name="code" value="hu.jmk.ipv6.IPv6Indicator"/>
<param name="mayscript" value="true"/>
<param name="scriptable" value="true"/>
</object>
<!-- <applet id="dnsapplet" code="DNSClass" codeBase="applets" height="10" width="10"/> -->
</div>
</body>
</html>a beagyazott jar file
a javascript, ami a fuggvenyhivast vegezne:
try {
var applet = document.getElementById( "dnsapplet" );
alert( "applet: " + applet );
alert( "isActive: " + applet.isActive() );
//alert( "init: " + applet.init() );
//alert( "test: " + applet.getAddress( "jmk.hu" ) );
//alert( "echo: " + applet.echo( "Some text for echo testing" ) );
//alert( "myfunction: " + applet.myfunction() );
alert( "getARecord: " + applet.getAddress( "jmk.hu" ) );
} catch ( e ) {
alert( e.toString() );
}
ebben kicsit sok a "szemet", mert opera extension-nek keszulne, de az ahhoz tartozo kodok ki vannak kommentelveaz exception (ami java console-ban lathato): Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: Could not initialize class org.xbill.DNS.Lookup
kerdesem az lenne, hogy mi okozza a problemat, mit rontok el, illetve hol
Udv: VladimirR
-
lakisoft
veterán
válasz
bali023 #2303 üzenetére
Biztos hogy java-ban akarod ezt megtenni? C/C++-ban egyszerűbb lenne vagy esetleg Dotnet alatt: http://code.google.com/p/opencvdotnet/ vagy http://ubaa.net/shared/processing/opencv/opencv.html
-
bali023
csendes tag
Hello,
Olyasmi programot szeretnék csinálni ami egy képről egy adott sémát felismer és kiértékel. Pl a képemen van egy szimbólum és azt a program felismeri és kiir egy értéket.
Hogyan kezdjek hozzá? Vagyis van ötletem, de várnék még párat
Előre is köszönöm!Balázs
-
Lacces
őstag
Sziasztok!
Tömbkezelés és feltétel kezeléssel van gondom Java-ban
aRows != bRows nem működik, arra nem dobja ki a hibát, hanem lefut, összeadja a két mátrixotpublic static double[][] addMatrix(double[][] a, double[][] b) {
int aRows = a.length; // arrays' number in matrix
int aCols = a[0].length; // arrays' length in matrix
int bRows = b.length;
int bCols = b[0].length;
if (aCols != bCols && aRows != bRows)
throw new IllegalArgumentException("matrices don't match: " + aCols
+ " != " + bRows);
....}
main(){
double x[][] = { {7, 6, 3}};
double y[][] = { { 5, 4, 6 }, { 5, 6, 7 } };
double z[][] = AddingMatrices.addMatrix(x, y);
}
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Tőzsde és gazdaság
- Autós topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Apple iPhone 16 Pro - rutinvizsga
- Videós, mozgóképes topik
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- SkyShowtime
- Asztalos klub
- Egy helyre gyűjti az eltérő áruházak játékait a Microsoft
- Bittorrent topik
- További aktív témák...
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy A12/Samsung Galaxy A22/Samsung Galaxy A32/Samsung Galaxy A52
- AKCIÓ! Gigabyte H610M i5 12400F 32GB DDR4 512GB SSD Intel ARC A770 16GB Rampage SHIVA 650W
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged