- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Huawei Watch Fit 5 Pro - jó forma
- Rég várt frissítést kap az Android tárcsázója
- A Motorola Edge is különleges textúrával várható
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Okosóra és okoskiegészítő topik
- Friss információk és képek a OnePlus új órájáról
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- One mobilszolgáltatások
- Képeken a Sony WF-1000XM5
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - 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! 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
-
WonderCSabo
félisten
A merge GIT esetében sem valami leányálom, hiszen a problémát sosem az okozza, ami simán megy, hanem az, amit kézzel kell basztatni. Ehhez meg már semmi köze a verziókezelőnek. Nekem spec. a GIT-es push/pull/commit szarakodás tudja kiverni a biztosítékot, de ez is nyilván ízlés és gyakorlat dolga. Ahogy a kolléga korábban írta, a GIT inkább a sejtszerűen elhelyezkedő fejlesztői csoportoknak kiváló, ahol mondjuk nincs állandó kapcsolat a központi repóval, mert vpn, stb. kell hozzá.
Kene egy SCM topik. Vagy mar van?

-
WonderCSabo
félisten
Részlet az SVN doksiból:
http://svnbook.red-bean.com/en/1.7/svn.branchmerge.using.html
"Subversion's repository has a special design. When you copy a directory, you don't need to worry about the repository growing huge—Subversion doesn't actually duplicate any data. Instead, it creates a new directory entry that points to an existing tree. "
Valoban, ezt en is most olvastam el. Ugy emlekeztem tok szopas volt a branching, lehet ez mar nem igy van... Mindenesetre a szerver komm miatt megis lassabb lesz.
A merge-el viszont nagyon sokat szivtunk anno, de most olvasom az is fejlodott SVN-ben az evek soran. -
WonderCSabo
félisten
Nem történik másolás
Ha neked másolás történt, amikor SVN alatt brancheltél, akkor valamit nem jól csináltál.Én pont emiatt akadtam össze egy indiai fejlesztőcsapattal, mert korábban nem használtak VCS-t, de az SVN túl sok volt nekik. Minden egyes branch, amit létrehoztak, előzmény nélküli volt, egy teljesen új artifact, korábbi entitásoktól relációmentesen. Azóta is csak tippelek, hogy mi a bánatot csináltak rosszul.
Egy dolog van, ami sebességbeli probléma lehet. Az SVN közvetlenül a központi repository-ban dolgozik, ott hozza létre a bejegyzéseket. Ez ha rosszul van méretezve, lassú is lehet, értsd itt lassú alatt azt, hogy 2-5 másodperc. GIT esetében a saját gépeden lévő repositoryban hozod létre a branchet, amit csak te használsz, nyilván nincsen érdemi hálózati bottleneck, és más júzerekkel sem kell küzdenek a processzidőért. Ellenben ha feltolod a központi repóba, akkor megcsinálja ugyanazt, amit az SVN (nem másolás). Lehet hogy ez gyorsabb valamilyen oknál fogva a GIT esetében (nem 5 másodperc, hanem 2), de erős túlzásnak érzem azt, hogy ez a 2 vs 5 másodperc valakinek probléma.
(#8930) fordfairlane ha valamit elk.tál, akkor elég nehéz tud lenni. De akkor GIT branch/mergenél meg a push a kellemetlen
A masolas alatt arra ertettem, hogy svn copy-val hozol letre uj branchet.
-
WonderCSabo
félisten
Szerintem feature branchingre inkább való az SVN. Az kétségtelen, hogy programozó sejtekbe csoportosulva a GIT jobban skálázódhat, de finoman szólva nem ez határozta meg a felhasználási területeket egyetlen projektnél sem -- legalábbis nálunk.
(#8924) Lortech Tisztában vagyok vele, hogy a gradle irányába folyik még a Duna is, de egyelőre általános felhasználásra kicsit még kísérleti szaga van. Kell neki még egy kis idő, de hiánypótló az ANT után.
A GIT meg nyilván felhasználás kérdése, ha kell, akkor kell. Én viszont a GIT-tel vagyok úgy, hogy az utóbbi években kialakított workflow-t csak megnehezítené. Nemrég írtam egy scriptet is SVNhez, hogy még azzal se kelljen időt pocsékolni, hogy kattintgat az ember a branchek között, meg a history-ban merge előtt, nem sokból tartana GIT-re átírni, de csak a változtatás kedvéért teljesen feleslegesnek érzem a változtatást. Én inkább érzem arculati tényezőnek, mint valóban hasznos eszköznek. Kicsit olyan érzésem van vele kapcsolatban, mint amikor az ember összekötött kézzel akar úszni, hogy más is láthassa, hogy tud összekötött kézzel is úszni.
En dolgoztam SVN-nel is, git-tel is, es az utobbira szavazok. Nem teljesen ertem hogy azt mondod "feature branchingre inkább való az SVN", mikozben az SVN-ben egy branchet eleg pain letrehezni (hiszen valojaban masolas tortenik), mikozben git-ben csak egy pointer allitodik at pillanatok alatt.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
JavaScript topikot keresed.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Hello,
egy nagy kérésem lenne, négy példát kell kell írnom (saját) Java Annotációs Processzor gyakorlatban való felhasználására
Egy nap google-keresés után feladtam és megpróbálom itt 
Szóval a lényeg, hogy 4 konkrét példát kell írnom az Annotacios Processzor felhasználására, bármi lehet, csak a lényeg h konkrét példa legyen... szóval, hogy pl. webes bejelentkezésnél a securityt ellenőrizni - ha lehetséges ilyen?! nem tudom :/ sajnos nem vagyok eléggé otthon a témában
Nem kell semmi kód, csak szöveg - elmélet, jöhet angolul is ha esetleg valakinek van valamilyen segédanyaga ehhez.Ha ez itt OFF, akkor jöhet akár PM-ben is a válasz

Köszi előre is!!!!

webes bejelentkezésnél a securityt ellenőrizni - ha lehetséges ilyen?
Nos, ennek nem sok koze van az android annotation processorokhoz. Itt van egy par:
FragmentArgs
ButterKnife
Parceler
Dagger
AndroidAnnotations
AndroidTransfuse
PermissionDispatcher
DBFlowSorry, eltevedtem, azt hittem ez az Android topik.
Mindenesetre itt van jo par. 
-
WonderCSabo
félisten
Ha az üzemeltetés hozzáértő, akkor tudja, hogy melyik gépen mi van, és éppen mi fut

(#8147) RexpecT
Jaja, régebben scriptek halmaza gondoskodott az automatizált telepítésről, frissítésről. Most continuous integration a varázsszó. Projektet eleve így érdemes elkezdeni, mert anélkül mindenki csak szenved vele.Csatlakozom az elottem szolokhoz, continuous integration, sot igazabol continuous delivery kell ide.

-
WonderCSabo
félisten
Nos, az volt a kerdes, hogy 5 kliens tudjon csatlakozni a szerverhez. Az en megoldasomban az elso 5 tud csak csatlakozni, utana nem lehet mar csatlakozni tobbet.
A Te megoldasod pedig az, hogy egyszerre 5 kliens lehet jelen a szerveren.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
237. sorban a vegtelen ciklus helyett irjal egy 5-ig lepegeto for ciklust.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Tuti jo lesz ez igy? A kodreszletben en csak egy events nevu valtozot latok, meghozza a FacebookEventList() metodus parameteret. Azt pedig nem ugy kell elerni, ahogy irtad, hanem csak siman, de final-e kell tenni a parametert.
Amit te irtal, az a FacebookEventList() metodust tartalmazo osztaly events mezojet eri el.
-
WonderCSabo
félisten
Jo kerdes. Szerintem a Gradle miatt biztos nepszerusodik (de ez kozel sem lenne eleg hozza), de egyebkent en meg nem lattam Groovy-ban irt projektet soha.
-
WonderCSabo
félisten
Hogy a VM bemegeledegese ne adjon fals eredmenyt, ahhoz ezt szoktak hasznalni.
-
WonderCSabo
félisten
Üdv!
A segítségeteket szeretném kérni, mert sajnos nem boldogulok.
while (idozito < 5){
System.out.print("*");
Thread.sleep(500);
idozito = idozito + 1;
}Azt szeretném összehozni, hogy várjon a program a továbbfutással minden ciklus ismétlődésnél fél percet. De sajnos folyton hibát jelez.
Jól használom ezt a metódust, vagy erre ezt nem lehet használni?Előre is köszönöm.
Üdv:
ZoliDefine "hibat jelez".
-
WonderCSabo
félisten
Nem értem, hogy miért.
Tehát azt nem értem, hogy pl. miért lesz az első elem típusa string, amikor mind a kettő byte.A kiíratásban a "+ karakterpáros azt jelenti, hogy összefűzzük az általunk kiírandó stringet az összeadással, nem?
Vagy, ha így lenne: System.out.println("a+b="+(a+b));
akkor kerülne kiírásra ez: "a+b=7" ?Tehát azt nem értem, hogy ha a "+ karakterpáros egymás melletti használata azt jelenti, hogy fűzze össze, akkor mitől jelenti ezt. Én eddig mindig így fűztem a kiírandó szöveg mellé az összegeket.
köszönöm
Tehát azt nem értem, hogy pl. miért lesz az első elem típusa string, amikor mind a kettő byte.
Harom elem van. Az elso string "a+b=". A masodik ket elem egy-egy byte.
Vagy, ha így lenne: System.out.println("a+b="+(a+b));
akkor kerülne kiírásra ez: "a+b=7" ?Igen.
"+ karakterpáros egymás melletti használata
Itt egy felreertes lesz. Ennek a ket karakternek egymas mellett semmilyen specialis jelentese nincsen. A + operator tul van terhelve, es ha barmelyik oldalan egy String van, akkor nem az alapveto osszeadast vegzi el, hanem string osszefuzest. Eloszor persze ehhez azt az elemet ami nem string volt, stringge alakitja. Ez tortenik a pelda eseteben is.
-
WonderCSabo
félisten
A valasz: "a+b= 43"
Talan 7-et varna az ember. Azert lesz megis 43, mert itt nem osszeadas lesz, hanem az elso elem tipusa miatt (ami String), string osszefuzes. Ebben az esetben minden elemet elosszor stringge alakit, majd osszefuzi oket.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Nyilván, hiszen a referencia esetén is a referencia értéke másolódik be, tehát érték szerinti paraméterátadás történik. Viszont azért ez még sem annyira klasszikus érték szerinti paraméterátadás, mint a primitívek esetében. Illetve a mondatommal csak ki akartam emelni, hogy nem áll ami bambano mondott
"ok, tehát a jávában mindig referencia szerinti átadás van, amit ők érték szerinti átadásnak neveznek".(#7790) bambano: nos, a unboxing az közel sem dereferencia, de igen, ott lesz még egy köztes lépés.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Eclipse swt.
Tudom. A társai alatt a JetBrains termékeket értettem, ha félreérthető volt.
Oppenheimer: Jogos. Mondjuk az egyetemeken mindenhol (itthon) SWT-t tanítanak, mi is. Nem túl elterjedt cucc a JavaFX.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Hát igen, ez a bonyolult megoldás. De mindegy is, már sokan kérdeztek erre rá, és nem nagyon válaszolt erre az Android fejlesztő csapat. Majd kiderül, mindenesetre egyelőre nincs jel a változásra.
-
WonderCSabo
félisten
Írhatnak, de kétlem, hogy megteszik. Nemrég váltották le a JVM alapú Dalvikot a szintén JVM alapú ART-vel. Ez utóbbi rengeteg idő, mire el fog terjedni, jelenleg kicsi az Android 5 felhasználóbázisa. Ha váltanának egy teljesen új architektúrára, akkor az új appok vagy csak az új telefonokon lesznek elérhetőek, vagy meg kell oldani, hogy a JVM alapú dolgokon is menjen, ami elég bonyolult. Plusz kérdésessé tenné az ART-be vetett meló szükségességét. Ezek kívül a teljes kialakult ökoszisztéma borulna (libek, eszközök).
Mellesleg amennyire tudom, nem terveznek váltani Javáról. -
WonderCSabo
félisten
-
WonderCSabo
félisten
Jaja, szerintem is. Igaz, írják is, hogy a Java megeszi az Objective-C részét, és nem a Swift. Azért megemlíthették volna az Androidot. De egyébként én úgy látom, hogy valóban népszerű lett a Java 8, talán egy picit benne van azért.
-
WonderCSabo
félisten
Na, bedobok egy ON témát: mit szóltok, hogy a Java megint az első a TIOBE indexen? Első sorban a Java 8-at tartják ennek okaként.
-
WonderCSabo
félisten
Én is kétfélét használok, HU és US_en, pillanatok alatt lehet váltani. Magyar billentyűzetem van, az angol kiosztást megtanultam rajta. Így a programozás is gyorsan megy az angollal, de tudok ékezetesen is gépelni ide.

De sorry, látom elég nagy offot indítottam el. Én elég jól ismerem mindkét idét, pluginokat is fejlesztettem hozzájuk, mindkettőnek vannak előnyei és hátrányai, azt kell mondjam, teljesen felesleges vitázni rajta.
-
WonderCSabo
félisten
Én emiatt is váltottam angol billentyűzetre programozás során. Sok bosszúságot megkímél, és gyorsabban is lehet gépelni (pl ; karakter csak egy leütés angolnál).
-
WonderCSabo
félisten
Pont erről beszélek. Lexikális tudásuk van, a kézikönyveket, tankönyveket bevágták a belőlük készült kvízkérdéseket tudják, de értelmesen megírni egy kódot nem tudnak.
A lexikai tudást, a pontos szintaktika ismereterét bármikor kiegészíthetem a lokális help, kézikönyv vagy a gugli segítségével. Ha az adott ismeretere sokszor van szükségem, akkor a harmadik eset után már készség szinten tudni fogom. Amúgy meg nem érdekel, mert nincs rá szükségem. Az én fejem nem káptalan.A hiányzó gondolkodást viszont nem lehet beszerezni semmilyen forrásból sem.
Ez alapján egy interjún adjanak egy frappáns kis feladatot, amit előre okosan kitaláltak. Ne szopatóst, hanem egy ésszerűen 30 perc alatt megoldhatót. Ja, hogy ezt az interjúztatónak előre ki kéne találni, ahhoz meg neki is gondolkodni kellene... Így tényleg egyszerűbb egy Java alapú "Legyen ön is milliomosból" összeollózni 20 kérdést.
Ezzel természetesen teljesen egyetértek. Szerintem sincs értelme direktben megkérdezni a láthatóságok felsorolását, hanem használtatni kell egy feladatban.
Szimplán annyit mondok, hogy ezt attól még kötelező tudni egy Java fejlesztőnek, álmából szilveszteri buli után felébresztve is. -
WonderCSabo
félisten
-
WonderCSabo
félisten
Szomorú, hogy ilyen kvízkérdésekkel interjúztatnak.
Én több, mint 10 éve programozok (többnyire java, plsql). Ma sem tudnom fejből egy ciklus szintaktikáját. Ott a codeassist az megírja. Én meg megtöltöm tartalommal.
A láthatóságok listáját se magoltam be mégis ismerem, értem és használom őket, de ha kérdeznének biztos kihagynám valamelyiket.Szerintem ezt (láthatóságok és azok használata, hatása) illik tudni fejből, hiszen naponta mindegyiket használni kell.
-
WonderCSabo
félisten
Ameddig tudom igazolni, hogy diák vagyok ezek mind járnak?
Igen, legalábbis egyelőre így van.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Ok, ez benéztem.. de akkor hagyjuk az s-t és marad a többi.. a kérdés még áll.
OK, viszont az es -re is ugyanez a kérdésem.
Mindenesetre ilyesmi:\w+((ves)|(ies)|(ys))
-
WonderCSabo
félisten
Sziasztok, regexel kapcsolatos kérdés.
Olyan szavakat kellene megtalálni amik s,ves,es,ies vagy ys-ben végződnek.
így próbáltam \\w+[s(ves)(es)(ies)(ys)](?=\\s) és itt[link] ki is próbáltam de rá kellet jönnöm, hogy a szögletes zárójelek közt a kerek zárójelek is karakternek számítanak (gondolom. Javíts ki ha tévedek).
Szóval mivel nem vagyon nagyon otthon ezekben, nem tudok rájönni, hogy hogyan kellene ezt jelölnöm.Bocsi, de mi ennek a regexnek az értelme? Úgy értem, hogy ami s-ben végződik, az már eleve lefedi a a többi lehetőséget.
-
WonderCSabo
félisten
Én biztos használnék.
Szerintem megéri, hogy kevesebb a befektetett meló, és a hibák száma is csökken. Nem kell megírni újra azt, amit már nagyon sokszor, nagyon sokan, jobban, hatékonyabban, hibamentesen és agyontesztelve már megírtak.Persze ha a projektben valamiért számít a bináris mérete, akkor talán nem fér bele a dolog... De ez szerintem most már egyre kevésbé jellemző.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Üdv. Igazából programozási kérdésem lenne, nem kötődik a java nyelvhez.
Az a feladat, hogy ha van egy adott N természetes szám (ami egy derékszögű háromszög egyik befogójának a hossza) akkor határozzuk meg annak a derékszögű háromszögnek a másik befogójának a hosszát(egész számot), amelyiknek minimális a területe.
Ezt először úgy oldottam meg, hogy beolvasom az N számot, növelek egy c változót 1 től, összeadom a c*c + n*n - et ha ez négyzetszám(pitagorasz tétel) akkor a c megoldás. Utána úgy optimalizáltam rajta, hogy csak azokat az összegeket ellenőrzöm le ahol a c * n / 2 (terület) osztható hattal, mivel minden pitagoraszi számhármasból (3,4,5; 6,8,10) álló háromszög területe osztható hattal. Ezt még tovább optimalizáltam úgy, hogy a c - t kettővel, hárommal vagy hattal növeltem, attól függően, hogy az n mivel osztható, így csak olyan értékeket vizsgálok amelyek biztosan oszthatóak hattal. Sajnos ez nem elég, még így sem gyors a programom.
Nem házi feladat (csak agytorna miatt csinálom), igazából ötletet szeretnék kérni, mivel már nem tudom, hogy mivel próbálkozzak gyorsítani. Igazából inkább logikai gyorsításra törekednék, nem arra, hogy átírjam assemblyben
Van általános programozás topik, ott nem lenne OFF a kérdés.
-
WonderCSabo
félisten
Ja..az mondjuk félig jogos...Csak hát indításonként ellenőrizni...
Ha éppen nincs netem akkor nincs fejlesztés...
Ezt addig nem fogom megérteni amíg nem lesz olyan szintű infrastruktúra mint az áram, vagy a víz. Addig inkább időszakos bosszúság mint szükséges feltétel.-------------
De egy témába vágó kérdésem is lenne. Windows Registry-t szeretnék írni olvasni.
A WinRegistry osztályt találtam eddig a leghasználhatóbbnak az eddigiek közül. Nem akarok JNI, 3rd party, windows api hívásos módszereket használni.Van esetleg valami ami még szóba jöhet?
Ha éppen nincs netem akkor nincs fejlesztés...
Igazság szerint már annyira függünk a nettől minden tekintetben, hogy ez az állítás teljesen megállja a helyét.
-
WonderCSabo
félisten
Azt használom most, viszont macerás. Néha egyszerűen minden ok nélkül megáll vagy elhagyja a cookie-kat és emiat logoutol a webappból. Sőt 3-ből ~1-szer az első get nem is kap választ és timeout-ol. 3-ból 2-szer pedig egy másodpercen belül megvan. Nincs network probléma, a forrás konstans elérhető.
Windows esetén még könnyen mellékelem a jar-ba és kimásolom az azonos mappába futáskor, még a bináris beállítása előtt.
Linux esetén viszont ha nincs telepítve, akkor nem hajlandó futni. (Fedora alapú linuxnál pedig működésre sem tudtam bírni, de ez nem jelent problémát, mivel az egyetlen redhat-es emberke átmigrál)@WonderCSabo: Selenium átalakította, itt látszik is a rengeteg selenium import.
Én nem látok itt semmi átalakítást. Működik is nekem:
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>seleniumtest</groupId>
<artifactId>seleniumtest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.45.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.16</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>Teszt osztály:
public class HtmlUnitTest {
@Test
public void testHtmlUnit() {
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("htmlunit");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}Mondjuk alapból 2.15-ös htmlunit-ot használ a legújabb Selenium, szóval nagy változásokra nem kell számítani a 2.16-s verziótól...
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Ha rendes függőségkezelést használt (pl. Maven vagy Gradle), akkor egyszerűen csak deklarálni kell az újabb verziót és azt fogja használni. Ha az egybecsomagolt zipet használod, akkor ki kell dobni onnan kézzel a libs mappából a htmlunit jart, és berakni az újabbat.
-
WonderCSabo
félisten
Bakker, hogy erre nem jöttem rá

Mondjuk azóta nem nagyon foglalkoztam vele, haladtam tovább, ott már teljes sikerrel. Már csak a beolvasás rossz, azt meg a tanár mondta, hogy megcsekkolja.Köszi

Csak egy apró tanács: ne nevezd el a tömb hosszút jelentő változót "i"-nek. Az "i"-t szinte mindig ciklusváltozónak szoktuk felhasználni.
-
WonderCSabo
félisten
public abstract class OutputStream implements Closeable, Flushable {
...
public void close() throws IOException {
}
...
}public
class FileOutputStream extends OutputStream
{
...
public void close() throws IOException {
synchronized (closeLock) {
if (closed) {
return;
}
closed = true;
}
if (channel != null) {
channel.close();
}
fd.closeAll(new Closeable() {
public void close() throws IOException {
close0();
}
});
}
...
}public
class FilterOutputStream extends OutputStream {
...
public void close() throws IOException {
try (OutputStream ostream = out) {
flush();
}
}
...
}A BufferedOutputStream az utóbbit terjeszti ki.
Ezért mondom azt, hogy kötelező a flush, mert van olyan implementáció, ami megcsinálja, van olyan, ami nem. Könnyű benézni.Sorry, a Writer-t akartam írni, nem OutputStream-et. A Writer ősosztály azt mondja:
"Closes the stream, flushing it first. "
Ezt minden implementációnak be kell tartania. Az OutputStream és leszármazotta valóban nem állítanak ilyet magáról, ezért nem lehet hagyatkozni rá.
-
WonderCSabo
félisten
Hello
Van egy java programom amiben a következőt kellene meg csinálnom:
Forrás txt fájlok beolvasása.
-Input bekérés conzolról, end jelig.
-Bevitt adatok elraktározása.
-Forrás tömbök összefésülése. (a két forrásnak azonos az első oszlopa, az alapján kell összerakni a 2-t)
-Tömb sorbarendezés.
-Kiírása txt fájlbaEddig jutottam a kódban de innentől nem igazán tudok haladni. Mi a további teenedő?
import java.util.Scanner;
import java.io.File;
import java.util.Vector;
public class Feladat {
Feladat() {
File enfileom = new File("adatok.txt");Vector<String> tomb = new Vector<String>();
//tombok a szetbontashoz
Vector<String> oszlop1 = new Vector<String>();
Vector<String> oszlop2 = new Vector<String>();//String[] tomb = new String[10];
try {
Scanner olvaso = new Scanner(enfileom);
while(olvaso.hasNextLine()){
tomb.add(olvaso.nextLine());
}
olvaso.close();
//tomb[0] = "slglsdf";
} catch (Exception ex) {
ex.printStackTrace();
}
//tomb kiirasa:
for (int i = 0; i<tomb.size(); i++){
System.out.println(tomb.get(i));
}int index;
for (int i = 0; i<tomb.size(); i++){
index = tomb.get(i).indexOf(",");
oszlop1.add(tomb.get(i).substring(0,index));
oszlop2.add(tomb.get(i).substring(index+1));
}Scanner bill = new Scanner(System.in);
String keresett;
do {
System.out.print("Mit keresel: ");Az, hogy a kódot "Programkód" formázással, vagy inkább direkt erre való PasteBin vagy GitHub Gists oldalakra rakd fel.

-
WonderCSabo
félisten
Ez tuti? Amennyire én tudom és ahogy az implementációt is nézem, a close() magától flush-öl a java standard outpustream-jeiben. Meg az internet is ezt mondja.

Na megint megelőztek.
-
WonderCSabo
félisten
Üdv!
Egy saját "loggert" használok és console mellett fájlba is szeretném kiírni. A fájlt létrehozza sikeresen, de egyszerűen nem ír bele semmit. Mi lehet a gond?
public class Logger {
private static File logFile = new File(ClassLoader.getSystemClassLoader().getResource(".").getPath()+"log.txt");
public static void log(Object s) {
if(!Settings.logging) return;
//console
System.out.println("L: "+s);
//file
try {
if(!logFile.exists()){
logFile.createNewFile();
}
FileWriter fw = new FileWriter(logFile.getName(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.newLine();
bw.write(s.toString());
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}Számomra jónak tűnik a cucc, le is futtattam, létrehozza a fájlt és logol is bele. Két gondolatom van csak:
Settings.logging esetleg nem false?
FileWriter fw = new FileWriter(logFile.getName(),true);
Ezzel vigyázz, mert ez csak a current directoryban fogja létrehozni a fájlt a névvel, szóval nem ott lesz, ahol sejted. Pl. ha IDE-ből futtatod:
logFile útvonala a build mappában belül log.txt
new FileWriter(logFile.getName(),true) viszont az aktuális mappában, tehát a projekt mappában hozza létre a fájlt és írja
Szerk.: Közben már látom megtaláltad a jó megoldást, de akkor a posztom alapján már érted, hogy az előző miért nem ment.

-
WonderCSabo
félisten
És az extra hiánya miatt törölted az egész extra dolgot? Mondom pont abban látszik, hogy mi van.
És azt is mondtam, hogy csak konzolra iratunk. Az egész tanterven nincs is más!
Neked működik az 1/2/1-es menüpontban a keresés és az első találat kiírása?

Tudom, hogy csak a konzolra írtok, nem is baj az. Csak a formázást sztem nem kell túlzásba venni.
A keresést már nem néztem, mert az extra hiánya miatt ugye az egész kód piros volt. A beolvasás jó.
-
WonderCSabo
félisten
Megint szétoffoltuk a topikot srácok.
Kéne valami prog oktatás topik (vagy van?). -
WonderCSabo
félisten
Szia!
Valójában 3-400 soros programot kellene írni. Az első része az volt, hogy alkossunk egy feladat specifikációt, ami alapján elkészül a program. Extra dolgokat tudhat, viszont kevesebbet nem. Nos, kicsit nagyon elvetettem a sulykot a feladatspecifikacional. Így most tulajdonképpen iszom a levét.Jézus, mennyit írtál!
köszönöm szépen 
Sajnos ez nekem még mindig nagyon magas
És tankonyvunk sincs. Semmit nem írt ki az oktatási minisztérium. Egy füzetbe jegyzetelunk és kész.
WonderCSabo: ha format left vagy right-tal kiiratod, akkor sincs elcsúszva a felső sor?
ha format left vagy right-tal kiiratod, akkor sincs elcsúszva a felső sor?
Nem. Mivel nem mellékelted azt a csomagot, ezért kénytelen voltam törölni az extra csomagban lévő hívásokat. De ezek szerint a kiírás rossz csak. Én nem sokat foglalkoznék egy konzolra való kiírás formázásával...
-
WonderCSabo
félisten
[link]
A mappában az adatok txt lesz az. Küldöm az egészet, hátha mész valamira. Úgyis csak 32 KB.
Lefuttattam a progidat, nálam oké, nem látok semmilyen extra karaktert.
-
WonderCSabo
félisten
Jaa, értem. Ezt nem vettük még. Egyszer mintha szórakoztam volna egy-két osztály létrehozásával, de kb. ennyi is volt.
Arra lehet tipped, hogy miért van egy plusz, nem látható karakter az első beolvasott elem mögött? (A forrásban nincs szóköz)
Töltsd fel a forrásfájlt valahova, változatlanul.
-
WonderCSabo
félisten
Lehet, hogy igen(bár nem hiszem, sőt), de ti a tömböket is csoportoknak meg nem tudom még minek hívtátok, amit akár mondhatnátok estig is, akkor sem érteném meg, hogy az ott egy tömböt jelentene, mert mi mindig csak tömbnek hívtuk.
Metódus-t meg nem lehet máshogy hívni Javában:
pulic class Main {
public static void main(String[] args) { // a main egy metódus
}
public String masikMetodus() { // masikMetodus egy másik metódus
return null;
}
} -
WonderCSabo
félisten
Lehet, hogy igen(bár nem hiszem, sőt), de ti a tömböket is csoportoknak meg nem tudom még minek hívtátok, amit akár mondhatnátok estig is, akkor sem érteném meg, hogy az ott egy tömböt jelentene, mert mi mindig csak tömbnek hívtuk.
A Collections-re gondolom csoportok alatt, és az nem primitív tömb, amit Te használsz, hanem modern adatszerkezetek (tárolók) gyűjteménye. A kettő nem egyelő, nem mondjuk a tömböt Collection-nek, mert nem az. PL.
Tömb:
int[] tomb = new tomb[1000]; // lefoglalok előre sokat
tomb[0] = 1;
int a = tomb[i]; // benne volt-e? mire vizsgáljak?
i > 1000 // le kell foglalni új tömböt, mert már nem férne bele az elemekCollections:
List<Integer> lista = new ArrayList<>();
lista.add(2);
lista.add(3);
lista.remove(2);// dinamikusan változik a mérete, "sosem" telik be, kivenni is lehet elemeket, a benne lévő elemek ismertek
Ez csak egy típusó Collection, van még nagyon sok.
-
WonderCSabo
félisten
Értettem. Ha minden igaz, itt van:
[link]És mégis hogyan bontsak szét egy majd 1000 sort is hamarosan elérő switch case-t? Mondtam már. Osztályok nincsenek, nem tanultuk őket.
Új metódusok írását se tanultátok?
Szerk: Ezek szerint nem... Mondd meg a tanárnak, hogy ilyen komplex feladat (már ha az tényleg) megoldásához biztosítsa a megfelelő eszköztárat.
-
WonderCSabo
félisten
Totál nem fog ma az agyam, egy ilyenen elakadok. Mit ronthatok el folyton?
A tömbök így vannak, és azok rendben is vannak. (Első oszlop:név, 2. oszlop gazdnev, 3. oszlop tomeg és a negyedik oszlop a kor.
A tömbök azért null-ig mennek, mert husszú tömbbel dolgozunk(pl 500 elemes), mert a tömb hosszának mindig változnia kellene.
Bukfenc;Pista;65;2
Bukfenc;Isti;65;2
Füsti;Pista;65;2
Füsti;Pista;65;2
Füsti;Pista;65;2
Füsti;Pista;65;2
Füsti;Pista;65;2Hibajelenség: Ha bukfencre keresek rá, semmit nem talál, ha füstire, akkor talál, meg a végére kidob egy null;null;null;null-ot, mint 7. találat.
String kereses=extra.Console.readLine("Milyen nevet keressünk?");
db=0;
i=0;
while (nev[i]!=null){
if (kereses.equals(nev [i])){
modvalogatas[db++]=i+1;
}
i++;
}
if(db!=0){
System.out.println("Az alábbi találat(ok) keletkeztek. ");
for (int j=0;j<db;j++){
System.out.println(modvalogatas[j]+"-"+nev[modvalogatas[j]]+";"+gazdnev[modvalogatas[j]]+";"+kor[modvalogatas[j]]+"év;"+tomeg[modvalogatas[j]]);
}Ezt a megoldást a tanár ajánlotta nektek? Mert ez borzalmas. Csináljatok egy Dog nevű osztályt, annak legyen név, gazda, tömeg, kor mezői, és rögtön elég egy tömbben tárolni. (Azt mondanám, hogy List-ben, de gondolom Collections még nem volt). Meg lehetne for ciklus while helyett, azt se vettétek még?
public class Dog {
public String name, owner, age, weight; // getter setter kéne, típus lehet szám, stb.
@Override
public String toString() {
return name + " " + owner + " " + age + " " + weight;
}
}
...
Dog[] dogs = new Dogs[500];
// read
int i = 0;
Dog dog = dogs[i];
while(dog != null) {
if (dog.name.equals(input)) {
System.out.println(dog);
}
dog = dogs[++i];
}Egyébként már a beolvasásnál el lehetne menteni, hány sor volt, és akkor lehetne addig menni a null ellenőrzés helyett.
Megelőztek.
-
WonderCSabo
félisten
Ismerem, alap, zseniális videó.

-
WonderCSabo
félisten
az autoboxing soran meghivott Integer.valueOf cacheeli a kis szamokat, ezert ugyanaz az objektum lesz mind a ketto. Ugyanaz nagy szammal nem fog mukodni.
masik hasonlo:
String a = "alma";
String b = "alma";
System.out.println(a == b); //trueez is egy optimalizacio eredmenye
emvy: a felso hatar allithato: -XX:AutoBoxCacheMax
Én tudom.

-
WonderCSabo
félisten
Elég gáz, hogy ez van:
new Long(1) == new Long(1); // false
new Long(1) == 1; // true
new Long(1).equals(new Long(1)); truevérgagyi
Akkor már oldják meg az operátor overloadingot, mert még az is jobb lenne.A servlet meg nyilván manapság nem cél, hanem az érthetőség miatt egy kis kitérő. Senki nem fog ma már servletet gyártani. A mostani projektben is amikor egy 10 évvel ezelőtti servletet akart valaki portolni, inkább REST WS-t ajánlottam, mert a framework miatt csak szopás lenne vele.
(#7379) jetarko semmi gond ezzel. Socket/RMI: hagyjuk; szálkezelés: fontos
De az alapok inkább fontosak, meg hogy mennyire mész utána egy problémának, ha belefutsz. Van olyan, aki csak ül és vár...Integer a = 2;
Integer b = 2;
System.out.println(a == b); // truena ezt tudtátok?

-
WonderCSabo
félisten
Muszáj.
Ezt nehezen hiszem el. Miért?
-
WonderCSabo
félisten
Igen, az volt a gond.
Asszem az ellen nem sokat tudsz tenni.

-
WonderCSabo
félisten
Most sikerült megnéznem, sajnos minden hogycsinalja, majd 6.-ban meg tudom kérdezni a tanártól.
Azt hiszem, az s számíthat valamit, hogy ciklusban van.Picit utánanéztem, és a javasolt flush-nek nem sok értelme van, mivel automatikusan megtörténik a flush. Legalábbis ha println-t használsz.
Vagy Neked az volt a bajod, hogy System.out és a System.err összekeveredett?
-
WonderCSabo
félisten
-
WonderCSabo
félisten
-
WonderCSabo
félisten
if os == windows {
Runtime.getRuntime.exec("cls");
} else if os == *nix {
Runtime.getRuntime.exec("clear");
} else {
Runtime.getRuntime.exec("akármi, ami konzolt töröl....");
}Amolyan pszeudóféleképpen

Ez mondjuk az IDE consoljára nem biztos, hogy hatássas lesz. Rondábbnak tűnő, de platformfüggetlen megoldás jó sok új sort kiírni.
norbert1998: Ha System.err -re írsz System.out helyett azt remélhetőleg pirossal írja.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Levonni nem hiszem, hogy levonnak. Mikor tz-be while helyett for ciklust tettem if-es break-el,annyit mondott, hogy te [legyen a vezeteknevem mondjuk] kovács! Megmondtam, hogy órán ne breakelj. Most nézzétek meg, ti itt dolgozatot írtok, ez meg itt breakel...
Egyszóval, nem fog érte megölni, jo fej ürge. De mindjárt beérek, megkérdezem tőle.
Akkor ha bármilyen negatív dolog lenne ezzel kapcsolatban.
-
WonderCSabo
félisten
Csomó dolgot ismertem, de ez nagyon jól összefoglalja az egészet. Köszi!
-
WonderCSabo
félisten
Úgy érted, hogy például:
int fomenu=extra.Console.readInt("sg");
?WonderCSabo: Ez is megoldható, de mindig, kivétel nélkül .*;-al operáltunk, és nem tudom, mennyire lenne díjazva, ha változtatnék.
Ne viccelj, ha emiatt levonnak a megoldásodból, akkor hagyd ott azt az intézményt...
-
WonderCSabo
félisten
Üdv!
Lenne egy kis gondom. Beadandót kell csinálnunk java-bol, de adódott egy elég nagy gondom rögtön az első soroknál.
Mi bevitelhez az extra.Console-t használjuk, viszont kellene a FileWriter is abba a programba, meg úgy eléggé sokminden a java.io-ból is. Úgy rémlik, ezzel semmi gond nem volt, mintha még írtunk is volna ilyen kis programot a suliban, de nekem nem megy.
Beírom, ahova szokás, hogy
import java.io.*;
import extra.*;
És amikor az első sorba belekezdenék:
int fomenu=Console.readInt("blablabla");
Fogja magát, és kiirja, hogy ütközés van a java.io.* és az extra.* között, mert mindkettőben van Console osztály.
Mit lehet tenni ezellen?Osztálytársaknak is mind működik, hiszen, van, aki már be is fejezte a programját, és ennek a két dolognak benne kell lennie.
Én egyáltalán nem javaslom a wildcard (*) importokat, pont az ilyen gondok miatt. Csak azokat az osztályokat importáld, amiket ténylegesen használsz, ne egész csomagokat. [link]
-
WonderCSabo
félisten
A tömb eleme null, ezt már kiderítettem
Oké, de akkor mit vársz tőlünk? Mert a kód alapján többet nem tudunk mondani.
-
WonderCSabo
félisten
Ez lemaradt, még előtte van:
Karakter[] elsoJatekos = new Karakter[karakterSzam * 2];
Karakter[] masodikJatekos = new Karakter[karakterSzam * 2];
int karakterSzam = 0, karValEgy = 0, karValKetto = 0;Mivel nem osztottad meg az egész kódot, ezért a kövi lehet:
maga a tömb eleme null VAGY
a rand változó nullEzt egy másodperc alatt ki lehet deríteni debuggerrel.
-
WonderCSabo
félisten
Igen, csak ez így teljességgel helytelen. Csak azonosok tulajdonságot kell és lehet egymással összehasonlítani. Valami ilyesmi:
if first.key1 == second.key1
return first.key2 < second.key2;
return first.key1 < second.key1Persze ez azt jelenti, hogy az azonos napokon belül növekvő a ride, remélem erre gondoltál, mert máshogy nincs értelme.
-
WonderCSabo
félisten
Hát, hajrá, hajrá.
Én első körben kideríteném, mi az a Newton-módszer. Ilyesmikre a wikipedia jó kiindulópont szokott lenni.
Aztán átültetném ezt egy olyan nyelvbe, amiben változóknak lehet értéket adni, meg mindenféle vezérlési szerkezetekkel lehet ezeket piszkálni.
A szemfülesebbek 2 kattintásból is találnak hozzá pszeudokódot.
Persze megérteni azt is meg kell, de jóval egyszerűbbé válik átültetni az egészet javaba. És végülis erről szól az alkalmazott matek, nem?
Egy munkahelyen ennél azért jóval húzósabb feladatokat kell majd csinálni, és sokszor nemigen akad olyan, aki megmondja a tutit.A gyengébbek persze matlabozhatnak is, de egy java fórumon ilyet csak nem mondok. Én amúgy javaban csinálnám, mert a matlabhoz még annyira sem értek.

Amúgy elég sok az átfedés a feladatok között... szabad csapatban dolgozni?
Newton-módszer pár hsz-el feljebb linkelve van.
Persze Google segítségével is két kattintás, ahogy mondod a pszeudokód is. -
WonderCSabo
félisten
-
WonderCSabo
félisten
Egy javaslat: ne használj ékezetes neveket, meg úgy általában magyar neveket se.
-
WonderCSabo
félisten
egy random változóval(ami egy szám), a lényeg az hogy hogy tudom ezeket a szorzásokat könnyen elvégezni.
így:
Gly
G
2 ezt megkéne szorozni t-vel
5 ezt x-el
2 ezt y-al
1 ezt z-vel
0 ezt zs-vel
Ala
A
3 ezt megkéne szorozni t-vel
7 ezt xel
2 ezt y-al
1 ezt z-vel
0 zsMég most sem értem teljesen a logikát. Tehát ha betűk vanak, akkor újrakezdi a szorozgatást megadott sorrendű számokkal?
mondhatni igen.
Még most sem értem teljesen a logikát. Tehát ha betűk vanak, akkor újrakezdi a szorozgatást megadott sorrendű számokkal?
-
WonderCSabo
félisten
Sziasztok!
Újabb 5 milliós kérdés:
Van egy txt fájlom amiben ilyen szöveg van:
Gly
G
2
5
2
1
0
Ala
A
3
7
2
1
0
...és így tovább
minden szöveg új sorban van. Én ezt a txt fájlt beolvasom egy ArrayList-be.. a feladat az lenne, hogy :
Gly
G
2 ezt megkéne szorozni t-vel
5 ezt x-el
2 ez y-al
1 ezt z-vel
0 ezt zs-vel
Ala
A
3 ezt szintén t-vel
7 ezt x-el
2 ezt y-al
1 ezt z-vel
0 zs-vel
. és így tovább
Legkönnyebben hogy tudnám megoldani anélkül, hogy egy regényt gépeljek le?
Köszi a helpet előre is!2 ezt megkéne szorozni t-vel
ezt nem értem
-
WonderCSabo
félisten
Mérnök informatikusként tanultam ezt. Igen, ez alapvetően fizikához kell, csak nem mérnök infósoknak.
Egyébként sztem rohadtul szétoffoltuk a topikot, szóval ezt máshol kéne folytatni.
-
WonderCSabo
félisten
Azert en csak reszben ertek egyet. Valoban tanitanak sok hulyeseget is, feleslegeset, vagy nem jo modon, de muszaj az elmeleti megalapozas, akar programiras nelkul. A program, a nyelv csak egy eszkoz, megoldani a feladatot kell eloszor.
Egy (valos!) bar regi eset: m.tarsak jonnek (2 honap kulonbseggel ketto kulonbozo projektnel, csak a szomszed szobaban volt a masik), hogy
- van egy csomo, valtozo hosszu stringunk, de a halmaz csak nagyon ritkan valtozik
- nincs prefix-mentesseg
- jonnek rohadt gyorsan az input stringek, es meg kene mondani, hogy a halmaz mely eleme az, amelyik a leghosszabb prefixe az inputnak.
A kerdesuk mindket esetben ez volt: milyen sorbarendezesnek hivjak azt, amiben ezt a leggyorsabban (valamilyen algoval) meg tudna'k talalni, es az milyen muveleti igenyu.
Az intelligens telefonkozpontok szolgaltatas + parameter szetvalasztasa peldaul egy ilyen feladat.
Ha nem tanitananak (pontosabban: akinek nem tanitottak) algo+adatszerk. oran ilyesmit, me'g guglival se biztos hogy ratalal az optimalis megoldasra a fenti kerdessel.Nekem nincs is bajom az algo adatszerkkel, sőt az egyik kedvenc tantárgyam. (annyira gyak, hogy demonstrátor vagyok belőle azóta
). Ez alaptudás. Nekem pl. a Lebesque integrállal van problémám. 
-
WonderCSabo
félisten
-
WonderCSabo
félisten
ELTE IK-n is ez van. Olyan elmeletben nyomjak a matekot... gyakon meg a felere sincs ido. Plane tenyleges gyakorlati hasznat nem is latjuk (pl. Taylor-sorok), de ki kell szamolni. Igy elveszik az erdeklodes, pedig hasznos es jo dolgok ezek. Volt egy matlabos oram, de azt is atalakitottak mar. Pedig rohadt szep volt newton-modszert mindig plotolni, na, megvan mar a gyok?
Szoval mindenhol csak a fos elmeletet nyomjak, sajnos.
Get used to it.
Két kezemet összetenném, ha a Taylor-sor lenne a haszontalanabb matek rész, amit tanultam.

-
WonderCSabo
félisten
Itt a kód olvashatóságának, karbantarthatóságának, újrafelhasználhatóságának stb. javításáról van szó. Kezdőknek nem ajánlott szerintem, legalább egy nyelvet és az OOP alapjait ismerje jól az olvasó.
-
WonderCSabo
félisten
Csak egy megjegyzes: konvencio, hogy a final kulcsszoval ellatott konstansok neveit csupa nagybetukkel kell irni.
Tovabba gondolom a boolean tipus parameter donti el az eljarason belul, hogy most tartolaprol avagy hatlaprol van-e szo. Erre enum-ot hasznalj.
+ az osztalyok nevei mindig nahybetuvel kezdodnek, ahogyan a kollega is irja.
Ezek talan a legszembetunoek. Olvass utana a clean coding-nak es a konvencioknak. Nem csak masoknak, hanem magadon is segitesz ezzel.

Meg az osztályokat nagybetűvel kezdjük, stb.

-
WonderCSabo
félisten
Igen csak erre kapok egy NullPointerException-t. Itt a teljes kód, és a hibaüzenet alul.
Ha jól látom azért kapsz NPE-t, mert a butor tömbben null-ok csücsülnek. A hozzaAd metódusban csak az utolsó elem lesz nem null, a többi mind null marad. Ezt megoldhatnád úgy, hogy kezdetben 0 méretű tömböt készítesz:
this.butor = new butorlap[0];
-
WonderCSabo
félisten
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Sziasztok!
Elakadtam egy arithmetikai problémával:
Egy érték egyaránt lehet String vagy különböző pontosságú numerikus érték, ezért Object-ként tárolom. (A program egyébként tudja, hogy melyik van benne.)
Tegyük fel, hogy egy long pontosságú szám van benne, amit szeretnék char pontosságúra korlátozni. (Csak az alsó bitek érdekesek.)
Primitív típussal ezt tenném:
value &= Character.MAX_VALUE;
De hogyan tudom ezt egy wrapper-rel elérni, pláne úgy, hogy Object-ként van definiálva eredetileg?
((Az autoboxingnál azt olvastam, hogy lehet ilyet, de nem sikerült.))
Köszönöm!Ha String, akkor nincs mese, először parseolni kell. Ha csomagolóosztályban van, akkor pl.
Number number = ...;
char value = (long) number & Character.MAX_VALUE; -
WonderCSabo
félisten
Csak epp van egy fuggvenyed, aminek oriasi overheadje van.
A masik problema, hogy meglevo tipusokat nem tudsz adaptalni, ergo ha van egy fuggveny, ami T extends Comparable<T>-t var, es van egy tipusod, ami nem implementalja a Comparable<T>-t, pedig te tudod, hogy ossze lehetne hasonlitani a peldanyait egymassal, akkor korbe kell hekkelni, hogy mukodjon...
Ezekkel tisztában vagyok. Csak azt mondom, hogy az eredeti problémát így meg lehet oldani.
-
WonderCSabo
félisten
Persze, csak a példányosításnál nem tudsz <int>, satöbbi típust megadni...
Nem is akarok.
-
WonderCSabo
félisten
Vagy ilyet is lehet, ha már a generikusokra rákérdeztél. Ez viszont működik explicit típusokkal is.
(Természetesen a korábban vázolt megoldások tejesen jók)
public class GenericTest<T extends Comparable<T>> {
public T max(T a, T b) {
return (a.compareTo(b) > 0 ? a : b);
}
public static void main(String[] args) {
GenericTest<Double> gt1 = new GenericTest<Double>();
System.out.println(gt1.max(10d, 12d));
GenericTest<Integer> gt2 = new GenericTest<Integer>();
System.out.println(gt2.max(12, 23));
// És így tovább....
}
}Ennek a megoldásnak az az előnye, hogy tulajdonképpen mindenféle típusra lehet max() metódust írni. Kivéve természetesen a primitív típusokat, azokat a generikusok nem támogatják

Kivéve természetesen a primitív típusokat, azokat a generikusok nem támogatják

De szerencsére van autoboxing, emiatt ugyanúgy fog működni, ha primitíveket adsz át neki.
-
WonderCSabo
félisten
Sziasztok,
újabb feladathoz értem, ahol elakadtam.
Az alábbi Comapre osztályban minden max metódus azonos, kivéve a típusok neveit. LEhetséges lenne egyetlen max metódussal valamennyit helyettesíteni? Ha igen, akkor melyik megoldást használná?
public class Compare {
public byte max(final byte a, final byte b) {
return a > b ? a : b;
}
public short max(final short a, final short b) {
return a > b ? a : b;
}
public int max(final int a, final int b) {
return a > b ? a : b;
}
public long max(final long a, final long b) {
return a > b ? a : b;
}
public float max(final float a, final float b) {
return a > b ? a : b;
}
public double max(final double a, final double b) {
return a > b ? a : b;
}
public char max(final char a, final char b) {
return a > b ? a : b;
}
}Mire gondolhat, ha a könyvben még nem taglalta a generalizáció fogalmát, a generikus függvényeket? Egyelőre amik voltak: Procedurális nyelvi elemek, OO nyelvi elemek (osztályok, öröklés, beágyazott osztályok).
Nem, itt nem erre gondol szerintem. Itt az a lényeg, hogy elég lenne a double-vel megírni a metódust, mivel a többi típus mind szűkebb tartományt ábrázol, implicit, bővítő típuskonverzióval működni fog ha int-et, short-ot stb. adsz át neki.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - 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! 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?:))
- Samsung kuponkunyeráló
- Lexus, Toyota topik
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy Felhasználók OFF topicja
- Bluetooth hangszórók
- Battlefield 6
- Spórolós topik
- 5.1, 7.1 és gamer fejhallgatók
- Forza sorozat (Horizon/Motorsport)
- Milyen egeret válasszak?
- További aktív témák...
- GYÖNYÖRŰ MacBook Pro 14" M2 Pro 16 GB - 512 GB GAR ÉS jótállás!
- Intel Core ULTRA 9 285K +32GB 7600MHz Patriot Viper XTREME 5 DDR5 kit! (Bolti ár: kb 600ezer Ft!)
- Lenovo Legion Pro 5 - 16IRX10 - i9 14900HX - RTX 5070 - 32GB - 1TB
- 2000GB Gen5x4 NVMe SSD, 1 év gar GEN V!!! SK Hynix 2048GB PCB01 kb. 14GB/s / 12GB/s
- Lenovo Thinkcentre M710Q MINI PC,i3-7100T,8GB DDR4,256GB SSD,WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




Mindenesetre itt van jo par. 


Ezt addig nem fogom megérteni amíg nem lesz olyan szintű infrastruktúra mint az áram, vagy a víz. Addig inkább időszakos bosszúság mint szükséges feltétel.







