Hirdetés

2024. április 24., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#6001) Szmeby válasza PumpkinSeed (#5997) üzenetére


Szmeby
tag

Miért akarod máshogy elnevezni?

(#6002) Aethelstone válasza emvy (#5998) üzenetére


Aethelstone
addikt

A kollégának valszeg 1 darab fájlja van, ami maga az alkalmazás is.

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#6003) fordfairlane válasza emvy (#5998) üzenetére


fordfairlane
veterán

Nem azért, hogy a kódbetöltő tudja egy osztály példányosításakor, hogy hol keresse az osztálydefiníciót? 'csak' úgy hangzik mintha valami érzelmi döntés lett volna.

x gon' give it to ya

(#6004) Aethelstone válasza fordfairlane (#6003) üzenetére


Aethelstone
addikt

Ezt máshogy is meg lehetett volna oldani. Ehhez nem kellett volna feltétlenül ugyanolyan néven lennie az osztálynak és az őt tartalmazó fájlnak.

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#6005) floatr válasza Aethelstone (#6004) üzenetére


floatr
veterán

Sokkal egyszerűbb ez, mint bármilyen másik nyilvántartás. Ott a file rendszer

(#6006) Aethelstone válasza floatr (#6005) üzenetére


Aethelstone
addikt

A fájlrendszer nyilván adott. Csak neadjisten lehetne egy olyan is, hogy mondjuk az A1 class a /a/b/c/B1.class fájlban van, azt tőőőőcsed be :) Most max. annyi, hogy ugyan az A1 class keresed meg a /a/b/c/<class neve>.class fájlban :)

Persze, nem kell sokat emögé gondolni, konvenció és kész. Olyat is lehetne kérdezni, hogy miért main() metódus a belépési pont? Miért ne lehetne megadni, hogy teszem azt az init() vagy start() vagy pistike1986() legyen :D Ez van és kész :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#6007) boost válasza PumpkinSeed (#5999) üzenetére


boost
addikt

Szerintem jó, mert ha több osztályod van, és mondjuk a package explorerben ránézel, akkor tudod, hogy melyik fájlba mi van, nem kell egyesével megnyitni o"ket, vagy Type searchel keresgélni. Egyéb nyelveknél vannak erre cégspecifikus névkonverziók, ahol egy darabig eltart, míg megtalálod amit keresek.

(#6008) PumpkinSeed


PumpkinSeed
addikt

Igazából semmi hátsó szándékom nem volt a kérdéssel, csak érdekelt, hogy van-e valami fontosabb dolog amiért így kell.

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#6009) caindwan válasza emvy (#5934) üzenetére


caindwan
tag

Mindenkitol elnezest kerek, hogy egy regi hsz-re valaszolok.

En szerintem valahogy igy oldottam volna meg :D :

If(m1 > m2 && m3 > m2 && m3 < m1){
if(d3 > d2 && d3 < d1){
a = true;
}
else{
a = false;
}
}
else if(m1 < m2 && m3 > m1 && m3 < m2){
if(d3 > d1 && d3 < d2){
a = true;
}
else{
a = false;
}
}
else{
a = false;
}

[ Szerkesztve ]

(#6010) emvy válasza caindwan (#6009) üzenetére


emvy
nagyúr

Oke, jatszhatunk ezzel :) Szabalyok:
- van hat bemenoparameter, m, d, m1, d1, m2, d2 -- kerdes, hogy m.d. datum m1.d1 es m2.d2. koze esik-e (hatarok beleertve). Ha m2.d2. az evben korabban van, mint m1.d1, akkor ugy vesszuk, hogy m2.d2. a kovetkezo evre esik.
- feltesszuk, hogy a bemenoadatok ertelmesek (validaltak)

Tesztek:

m d m1 d1 m2 d2
1 1 2 3 4 5 => false
1 1 4 5 2 3 => true
4 5 4 5 2 3 => true
2 3 4 5 2 3 => true
3 4 4 5 2 3 => false

Az en nevezesem:

public static boolean isInside( int m, int d, int m1, int d1, int m2, int d2)
{ return ((m2-m)<<4+d2-d)*((m-m1)<<4+d-d1)*((m2-m1)<<4+d2-d1)>=0; }

[ Szerkesztve ]

while (!sleep) sheep++;

(#6011) emvy válasza emvy (#6010) üzenetére


emvy
nagyúr

Elnezest, elirtam:

public static boolean isInside( int m, int d, int m1, int d1, int m2, int d2)
{ return ((m2-m)<<5+d2-d)*((m-m1)<<5+d-d1)*((m2-m1)<<5+d2-d1)>=0; }

Lehet, hogy lehet ennel gyorsabbat is csinalni, de ez kozel van az optimalishoz :)

[ Szerkesztve ]

while (!sleep) sheep++;

(#6012) caindwan válasza emvy (#6011) üzenetére


caindwan
tag

ilyennel nem vagyok versenyképes :R Már a léptetésnél lemaradtam, nem értem, hogy minek az oda, mit csinál, mire jó..

(#6013) floatr válasza emvy (#6011) üzenetére


floatr
veterán

Ez azért nem menne át a review-n, mert az eredeti felvetés szerint (yyyy-)MM-dd formában van a dátum :) Amúgy lehet h gyorsabb egy kicsit több aritmetikai művelet, mint néhány elágazás a pipeline miatt, de a cél szempontjából kevéssé releváns a teljesítmény többlet szemben az érthetőséggel és karbantarthatósággal. Amikor hasonlókat irkáltam, és később valakinek bele kellett túrnia, mindig az lett a vége, hogy újraírta, mert nem értette, pedig bazi büszke voltam arra a pár órajelre, amennyivel gyorsabb volt.

(#6014) boost


boost
addikt

Ma indult coursera-n ingyenes Scala I kurzus. Hét hetes, opcionálisan az egyetemto"l kiadott névre szóló, hivatalos certifikációval (ez 50USD).

[link]

[ Szerkesztve ]

(#6015) emvy válasza floatr (#6013) üzenetére


emvy
nagyúr

Jah, azon mar szerencsere tulvagyok, hogy trukkos kodokkal bizonyitgassam, hogy jol megy ez :) Viszont ebben az esetben erdekes a kerdes: vegulis csak annyit csinalok, hogy generalok egy intervallumot a honap-nap-parbol, es megnezem, hogy a bemenodatum beleesik-e, majd invertalom az eredmenyt attol fuggoen, hogy a masodik datum kisebb-e, mint az elso. Nem feltetlenul kevesbe ertheto, mint a sok if-then.

En az agyon-objektumorientalassal vagyok mostansag igy. Mindenkinek ajanlom a lentebb linkelt Scala-kurzust, Odersky szepen bemutatja, hogy van elet az objektumokon kivul is. A Clojure, amit most csinalok, az meg vegkepp egy revelacio, egyszeruen fenyevekre van a kifejezoereje a Java-hoz kepest, peldaul az STM-implementacioja gyonyoru, tenyleg.

Gondolom mar mindenki olvasta, de ha esetleg nem: Kingdom of Nouns

[ Szerkesztve ]

while (!sleep) sheep++;

(#6016) Aethelstone válasza emvy (#6015) üzenetére


Aethelstone
addikt

Tyűűű....

Szóval, attól még, hogy egy nyelv objektum orientált, még nem kell görcsösen minden objektumizálni :) Nyilván :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#6017) floatr válasza Aethelstone (#6016) üzenetére


floatr
veterán

Eszembe jutott, hogy mekkorát szoptam a "Noun"-ok közvetlen definíciójának hiánya miatt, amikor egy JavaScript (of Verb) alkalmazásban funkcionálisan raktam össze egy szekciót. Amikor a funkció keres magának kontextust, ha nem talál -- na az már programozás :)

(#6018) Aethelstone válasza floatr (#6017) üzenetére


Aethelstone
addikt

Amikor a funkció keres magának kontextust, ha nem talál

LOL

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#6019) Phvhun válasza emvy (#5981) üzenetére


Phvhun
őstag

Ez volt a tuti megoldás, köszönöm!

(#6020) n00n


n00n
őstag

Sziasztok!

Találtam tök érdekes szakdolgozatokat a következő linken: https://dea.lib.unideb.hu

De csak egyetemi IP-ről lehet őket letölteni? Valaki tudna ebben segíteni nekem? Jár/járt oda, stb?

(#6021) raggg válasza n00n (#6020) üzenetére


raggg
senior tag

Régen nem így nézett ki ez az oldal, akkor le lehetett tölteni a pdf-eket. Én beírtam a keresőbe most hogy java és simán betöltötte pdf-ben a szakdolgozatot.

A kódokat nem mindig volt kötelező feltenni így egy-két szakdolgozatnál ez sajnos hiányzik.

ragklaatPS

(#6022) n00n válasza raggg (#6021) üzenetére


n00n
őstag

Csak azokat tölti be aminél nincs bepipálva, hogy csak egyetemi IP-ről lehessen letölteni... :U

(#6023) raggg válasza n00n (#6022) üzenetére


raggg
senior tag

szk. félreértettem sry :)

[ Szerkesztve ]

ragklaatPS

(#6024) TheProb


TheProb
veterán

Sziasztok!

Most ismerkedek a Java-val és a NB-el, most utóbbival kapcs. szeretnék egy kis segítséget kérni, hogyan tudok egy projekten belül több, különálló és futtatható csomagot csinálni? Gyakorló feladatokat csinálok, amik marha egyszerűek és nem akarok mindegyikhez külön-külön projektet csinálni. Egyáltalán lehetséges ez?

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#6025) boost válasza TheProb (#6024) üzenetére


boost
addikt

Szia, próbáld meg, hogy mindegyik Java classba raksz egy main függvényt, és amelyik java classon vagy, azt indítja el.

(#6026) floatr válasza TheProb (#6024) üzenetére


floatr
veterán

Egy csomagban lévő osztályok bármelyikében lehet egy-egy belépési pont. Ha konzolból indítod el, akkor is meg kell adnod h melyik osztállyal indítanád el az alkalmazást.

(#6027) PumpkinSeed


PumpkinSeed
addikt

Adatot szeretnék bekérni konzolról, de ez valamiért nem akar összejönni, látszólag a többi nyelvhez képest elég nehézkes a Java megoldása erre.

static int input(){
Scanner scanner = new Scanner( System.in );

String input = scanner.nextLine();
return input;
}

Ezt kapom rá:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: class Scanner
location: class Valami
at Valami.input(Valami.java:19)
at Valami.main(Valami.java:28)
Java Result: 1

Hogyan lehetne ezt megvalósítani? NetBeans fejlesztő környezet.

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#6028) emvy válasza PumpkinSeed (#6027) üzenetére


emvy
nagyúr

import java.util.Scanner; // ez megvolt a fajl elejen?

while (!sleep) sheep++;

(#6029) floatr válasza PumpkinSeed (#6027) üzenetére


floatr
veterán

Egyrészt érdemes használni akár netbeans, akár eclipse alatt az Organize Imports eszközt. Ha elfelejtettél valamit importálni, akkor megtalálja, és behúzza helyetted.

Másrészt a kód egyébként is sántít, mert String-et olvasol be, de már int típust adnál vissza. A Scanner-nek van olyan metódusa, hogy nextInt(). Inkább azt használd, vagy át kéne alakítani int típusúvá a beolvasott szöveget, mondjuk Integer.parseInt(input) metódussal.

Így a kód akár ennyi is lehetne:
return new Scanner(System.in).nextInt();

[ Szerkesztve ]

(#6030) Mazsul


Mazsul
tag

Sziasztok.

Az normális, hogy 680 darab pixel RGB szín beolvasása 40 sec-ig tartson?

(#6031) emvy válasza Mazsul (#6030) üzenetére


emvy
nagyúr

More info needed

while (!sleep) sheep++;

(#6032) Mazsul válasza emvy (#6031) üzenetére


Mazsul
tag

import java.awt.AWTException;
import java.awt.Color;
import java.awt.Robot;

public class cardDetect {

public static int idn;

public static void main(String[] args) throws AWTException, InterruptedException {

Robot r;
r = new Robot();
int n = 0;
for (int x = 441; x <= 457; x++)
for (int y = 569; y <= 608; y++) {
Color color = r.getPixelColor(x,y);
r.mouseMove(x, y);
r.getPixelColor(x, y);
idn = idn + color.getRed();
n++;
System.out.println("X: " + x + " Y: " + y + " n: " + n);
}
System.out.println(idn);
}
}

[ Szerkesztve ]

(#6033) WonderCSabo válasza Mazsul (#6032) üzenetére


WonderCSabo
félisten

Attól függ mit csinál a getPixelColor és a mouseMove, mert a többi alapján 40 sec az nagyon sok.

(#6034) Mazsul válasza WonderCSabo (#6033) üzenetére


Mazsul
tag

a getPixelColor az egybeágyazott for ciklusoktól vett koordinátákról meghatározza az adott pixel 3 alapszín értékét, (Red, Green, Blue) a Color felvesz 3 int értéket, ebből egyelőre csak a pirosat használom, ezt pedig kiírom egy idn változóba, majd minden egyes pixelnél ugyanez, hozzáadom az addigi idn változóhoz. A moveMouse igazából csak debug jelleggel van ott.

Szerk.:

Közben rájöttem, hogy a második getPixelColor nem is kell, mivel már ott van előtte:

Color color = r.getPixelColor(x,y);

[ Szerkesztve ]

(#6035) TheProb válasza boost (#6025) üzenetére


TheProb
veterán

Próbáltam, hogy adott osztály definiálása után írtam 1 main fv-t és ott meghívtam a dolgokat, de ugyan úgy a projekt által generált main futott le :/

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#6036) n00n válasza TheProb (#6035) üzenetére


n00n
őstag

Jobb gomb a projekten, majd Properties/Run és a Main Class-nál állítsd át, hogy melyik main függvényt hívja meg automatikusan

(#6037) TheProb válasza n00n (#6036) üzenetére


TheProb
veterán

aha!

Köszi

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#6038) lakisoft


lakisoft
veterán

Sziasztok,

java.lang.NullPointerException ennek a hibának mi szokott lenni a hátterében? Milyen módszerrel lehet kideríteni?

[ Szerkesztve ]

(#6039) emvy válasza lakisoft (#6038) üzenetére


emvy
nagyúr

A helyedben csinalnek egy Java bevezeto-kurzust, vagy akar egy ilyesmit: [link], mert most itt elkezdhetjuk magyarazgatni, hogy mi az a stack trace, meg referencia, meg ilyesmi, de nem fog az mukodni, hogy a forumon tanitanak meg az alapokra.

A NullPointerException egyebkent egy eleg sulyos programnyelv-tervezesi hiba eredmenye :)

I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. In recent years, a number of program analysers like PREfix and PREfast in Microsoft have been used to check references, and give warnings if there is a risk they may be non-null. More recent programming languages like Spec# have introduced declarations for non-null references. This is the solution, which I rejected in 1965. (Hoare)

[ Szerkesztve ]

while (!sleep) sheep++;

(#6040) n00n válasza emvy (#6039) üzenetére


n00n
őstag

Köszi, tök érdekes kurzus. Én is regisztráltam. :)

(#6041) floatr válasza lakisoft (#6038) üzenetére


floatr
veterán

A kérdésedre a válasz röviden annyi, hogy egy változó (ami nem egyszerű típusú) nem kapott értéket, de használnád. A hiba helyét a stack trace mondja meg, amit általában logokba vagy konzolra dob ki az alkalmazás.

(#6039) emvy azért ennyi belefér, nem? :)

[ Szerkesztve ]

(#6042) emvy válasza floatr (#6041) üzenetére


emvy
nagyúr

> azért ennyi belefér, nem?

Nem tartom tul realisnak, hogy aki nem tudja azt, hogy mi a nullptr, annak segit a stack trace fogalma...

while (!sleep) sheep++;

(#6043) axioma válasza lakisoft (#6038) üzenetére


axioma
veterán

Forras birtokaban kerdezed, vagy anelkul, egy altalad hasznalt program amirol semmit nem tudsz dob ilyet?
Egyebkent ha utobbi, es korabban mukodott, akkor bar szarul van megirva hogy rafut az exception-re, de valamelyik konfiguracios ertek hibas, vagy valamelyik feltetel nincs meg (hardver, net, mittudomen) ahhoz, hogy normalisan fusson (az elcseszes merteketol fuggoen, hogy egyaltalan fusson, vagy hogy minden funkcio futhasson). A "hibajelzes" ezen modja akkor is programhiba.
Ja olyat lattam me'g, bar az eppen egy installer volt (java alapu), hogy elindulas helyett ilyet dobott akkor, ha o maga ekezetes konyvtarban volt.

(#6044) floatr válasza emvy (#6042) üzenetére


floatr
veterán

Ha gyorsan kell neki, innentől pár kereséssel találhat magának bővebb magyarázatot is. Míg egy tanfolyammal nem biztos, hogy tud/akar mit kezdeni.

(#6045) lakisoft válasza floatr (#6041) üzenetére


lakisoft
veterán

Ennyire volt szükségem. Nem vagyok full kretén a témában ;] . :R

[ Szerkesztve ]

(#6046) boost válasza lakisoft (#6045) üzenetére


boost
addikt

Tipikus NullPointerException hiba, ha van egy objektumod, aminek ahogy írták, az értéke null, és annak egy metódusát /attributumát hívod fel, hivatkozol rá.

Szóval ha egy null értéku" változót használsz, az még nem feltétlen NPE. Ha azon belülre nyúlnál, ahogy én írtam, akkor igen.

[ Szerkesztve ]

(#6047) emvy válasza boost (#6046) üzenetére


emvy
nagyúr

A null az nem objektum, hanem egy ertek. Null erteku objektum nincs, null erteku referencia van, a referencia viszont sosem objektum.

Elnezest a kotozkodesert :)

while (!sleep) sheep++;

(#6048) boost válasza emvy (#6047) üzenetére


boost
addikt

Nincs bocsánat.

(#6049) emvy válasza boost (#6048) üzenetére


emvy
nagyúr

:R

while (!sleep) sheep++;

(#6050) plaschil


plaschil
aktív tag

Szervusztok!

Ha különböző gépeken fejlesztitek ugyanazon kódot (pl. othoni gérpől is, meg céges gépről is), azt hogyan oldjátok meg? GitHub-ra feltöltitek? Egyszerűbb megoldás nincs?

Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.