<String,Integer> Map helyett inkább <String,Boolean> map-et csinálj, és minden be/ki után flip/flop-olni kell a megfelelő irányba, tehát ha eddig is kint volt és még egyszer kiment, akkor az nem jelenti azt hogy bejött. De ha kiment 3 -szor, és visszajött 1-szer, sem azt jelenti hogy még mindig kint van.
Ezután a kiiratásnál egyértelmű lesz hogy ki van éppen bent és kint. Ehhez természetesen iterálni kell.
Általában jobb az iterator-t használni mint ezt a for ciklust. Itt valószinűleg tökmindegy, mert nem lehet konkurrens módosítás a map-en.
Írja ki, hogy ki hogy egy paraméterben megadott időpontban kik vannak benn.
Ez a feladat lenyegi resze. A feladat altalad kozolt kiirasa nem eleg pontos abban az ertelemben, h pl. arrol van-e szo, h minden listahoz egy idopont tartozik-e, vagy egyszer adnak egy hosszu listat es utana ad-hoc kerdeznek-e idopontokat. Ez azert nem mindegy, mert egy egyszeri alkalomra nem eri meg statikus optimizaciokat csinalni, mig a tobbszorire igen. Tovabba az sem ismert, hogy a bejovo adatok mennyire megbizhatoak. Biztos, hogy idoben valtogatjak egymast a ki- es belepesek? A valosagban elofordulhat, h vki ketszer lep ki vagy be egymas utan anelkul, hogy az ellenkezojet tette volna (peldaul egy kollega kartyajaval jon be kozosen ebed utan).
Feltetelezve, h egy egyszeri lista van amihez egy idopontot kell feldolgozni, vmint a bejovo adatok megbizhatoak (a ki- es belepesek valtjak egymast), a feladat egy sima xor-olas szeru muvelettel megoldhato ha az adott idopontig ervenyes sorokat feldolgozzuk.
Ha nem akkor mar lehet gondolkozni szebb algorimusokon, de ehhez tobbet kene tudni a feladatrol.
Segítségre lenne szükségem. Van egy felada tamit javaban kellene megoldanom, csak vannak dolgok amiket nem értek és ezért megkérdezem itt is. Szóval a feladat:
Adott egy program ami paraméterként kap egy file-t, amelyben beléptetőrendszer adatok vannak:
Fűrész Elek, 10:21:10, be Toth Jozsef, 11:12:45, ki Kiss Janos, 12:25:12, be Nagy Tamás1 18:27:11, ki
Írja ki, hogy ki hogy egy paraméterben megadott időpontban kik vannak benn.
Odáig megvan, hogy paraméterben megadom a file-t, beolvassa soronként.
public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); Calendar cal; String sor; String[] t; String v = ","; String be ="be"; Map<String, Integer> map = new HashMap<String, Integer>(); if(args.length != 0){ try{ for(int i = 0; i<args.length; i++){ BufferedReader bf = new BufferedReader(new FileReader(args[i])); while((sor = bf.readLine()) != null){ t = sor.split(v); } System.out.println(sor); } bf.close(); } if(map.size()==0){ System.out.println("Nincs bejelentkezve senki!"); }else{ for(Entry<String, Integer> a : map.entrySet()) System.out.println(a.getKey()); } }catch(IOException e){ e.printStackTrace(); } }else{ System.out.println("Nincs megadva paraméterbe fájl!"); }
} }
Elképzelésem lenne, hogy miként valósítanám meg, de a kódolással már problémám van.
A beolvasott sorok t[1] részét kellene vizsgálni(az időpontot) és ha ez megegyezik akkor a Map-ből csak ezeket listázza ki. Másik gondolatom, hogy azt is kellene vizsgálni, hogy a sorok t[2] tömbjében szerepel-e a ,,be,, szó. Ha igen akkor csak ezeket írja ki. A másik gondom ez a dátum kezelés lenne. Azzal is tisztában vagyok, hogy a Calendar objektumot formázni kellene erre: hh:mm:ss, ezt a SimpleDateFormat-tal valósítottam meg, csak nem vagyok benne biztos, hogy működne-e.
Várjuk azon nappali tagozatos, aktív hallgatói jogviszonnyal rendelkező diákokat akik szeretnék továbbképezni magukat és ezzel piacképes tudáshoz jutni.
A képzés két héten keresztül tart (2x3 nap), minden alkalommal kötelező a részvétel. Az oktatáson való részvétel feltétele a JAVA nyelv előzetes ismerete. (Nem szükséges hardcore fejlesztői szintű tudás, de az alapok kellenek)
A képzés után a résztvevőknek 1 évig munkalehetőséget biztosítunk!
Az oktatás díja: 20.000 Ft, melyet az első fizetésből vonunk le.
Jelentkezés frissített szakmai önéletrajzzal a hr@schonherz.hu e-mail címen.
Sikerült valahogy megoldani, csak azt nem értelm hogy. A létrehozandó projecten a project layout-nál klikkelgettem, meg a Configure Default alatt, és most műküdik.
Feltelepítettem Eclipse-re a GWT plugint, ezzel csináltam is néhány kisebb alkalmazást.
Most viszont azzal szórakoztat, hogy nem lehet másféle java projektet elindítani, csak gwt-set, mindbe beleépíti egy gwt webapplikáció könyvtárszerkezetét, referenciáit etc.
A preferences/google alatt ott vannak a google plugin beállításai, de ott vagy törlöm vagy nem törlöm, kikapcsolni nem lehet, leszedni meg nem akarom mert kell később, de most épp nem azt akarom használni.
Google meg félrebeszél a témában, hiába akarok vele barátkozni
A helyedben én mielőtt beleugranék egy soktízezer, sőt, százezres tanfolyamba, inkább beszerezném pl. a Java 2 - Útikalauz programozóknak c. könyvet, elkezdeném az elejéről, kipróbálnék minden példaprogramot, kisérleteznék, utánaolvasnék a java dokumentációban és kérdeznék itt a fórumon, ha elakadok valamiben.
If you’ve ever spent hours debugging your Java code, today’s blog post is for you.
Often bugs that are frustratingly elusive and hard to track down appear simple or even trivial once you have found their cause (the fault). Why are those bugs hard to track down? One possibility is that the fault is in a completely different part of the program than its symptom (the failure).
Contracted code reveals failures much closer to their fault, leaving you with a far simpler problem to solve:
Traditionally, Java programmers enforced preconditions using explicit parameter validation code in public methods, and assertions in non-public methods. Likewise, they enforced invariants and postconditions using assertions. This approach is described in detail here. Since then, new features in Java 5 have enabled a more convenient and expressive implementation of contracts.
Contracts for Java is our new open source tool. Preconditions, postconditions, and invariants are added as Java boolean expressions inside annotations. By default these do nothing, but enabled via a JVM argument, they’re checked at runtime.
• @Requires, @Ensures, @ThrowEnsures and @Invariant specify contracts as Java boolean expressions • Contracts are inherited from both interfaces and classes and can be selectively enabled at runtime
Contracts help you turn interface documentation into code. For example: /** * @param left a sorted list of elements * @param right a sorted list of elements * @return the contents of the two lists, merged, sorted */ List merge(List left, List right);
Could be expressed as: @Requires({ "Collections.isSorted(left)", "Collections.isSorted(right)" }) @Ensures({ "Collections.containsSame(result, Lists.concatenate(left, right))", "Collections.isSorted(result)" }) List merge(List left, List right);
The interface is now precise and every class that implements it can be checked at runtime.
Contracts are a powerful language feature and can provide great benefit if used correctly. We recommend that newcomers find an expert to learn from or spend some time reading around the subject to pick up good habits and avoid bad ones.
One point that often surprises people is that contracts must not be used to validate data. Contracts exist to check for programmer error, not for user error or environment failures. Any difference between execution with and without runtime contract checking (apart from performance) is by definition a bug. Contracts must never have side effects.
Another important point is that by convention module interfaces in Java are total, that is, they are defined for all input. In the case of incorrect input, they promise that a particular exception will be thrown. This behavior remains part of each method’s implementation and cannot be moved to the contract.
Contracts for Java is based on Modern Jass by Johannes Rieken. Rather than being a full time project it was conceived and developed in the 20% time of two software engineers and then developed further through an internship. The internship report (PDF) goes into detail about the work done and the methodologies used.
Contracts for Java was inspired by Eiffel, a language invented by Bertrand Meyer, which has built in support for contracts.
By David Morgan, Andreas Leitner and Nhat Minh Le, Contracts for Java 20% TeamTovább »
Kezdo szinten korabban a javapassion.com -on voltak hasznalhato anyagok, ma mar fizetos, de szerintem megeri. Erdemes gyakorlaskent proof-of-concept projecteket csinalni.
Nem kezdo szintre az egyik legjobb konyv amit mindenkinek ajanlani tudok az az Effective Java (2nd ed.) Josh Bloch-tol.
Tovabba az alabbi emberek publikaciot/blogjait/twittereit: Josh Bloch, Jeremy Manson, Cliff Click(!), Brian Goetz, Neal Gafter, Doug Lea es meg sokan masok.
Akinek nincs lehetősége elmenni Antwerpenbe, itt van egy kis hazai rendezvény: Java User Meeting XVII.
Időpont Az esemény 2010. november 17-én lesz 18 órától.
Helyszín Az előadások helyszíne a SZÁMALK, cím: 1119 Budapest, Mérnök u. 39. Megközelíthető a városközpont felől a 7E és 173E buszokkal. A Kelenföld városközpontig kell utazni, onnan 2 perc séta a Mérnök utca irányában). FONTOS! A terem kiválasztása miatt valamint amiatt, hogy a portán le kell adni a résztvevők nevét, szükséges az előzetes regisztráció itt. Emiatt a a jelentkezési határidő 2010. november 15. 23:59. Wifi van a teremben.
Tematika Fontos, hogy alkalmanként legalább három előadást terveztünk, így ha van kedved előadni, ne habozz felvenni velünk a kapcsolatot az info kukac jum pont hu címen. A tervezett tematika alább olvasható. Az itt leírt sorrend nem feltétlenül egyezik a valós sorrenddel.
Kovács Richárd (mhmxs) vs. Magyar Tamás (Magyusz): EJB vs. Spring showmatch
Két eltérő szemléletű technológia fog összecsapni a szemetek előtt. A több fronton megvívott harc során mindkét irányzat erősségei és gyengeségei kiderülnek.
Auth Gábor: AndroidSOAP
Egy startup és/vagy proof-of-concept projekt, amely lehetővé teszi Android platformról a SOAP hívást, és ehhez a wsimport által WSDL-ből generált Java interfész osztályokat használja, nagyjából azzal a könnyedséggel, amelyet JAX-WS kliens használatánál tapasztalunk. Egyelőre JBoss szerverrel próbáltam ki, ott szépen működik... :)
Verhás Péter: Üzleti szintű tesztelés
Az üzleti szintű tesztelés (Business Level Testing) az a módszertan amikor a tesztelésbe olyan szintig vonjuk be az üzleti szintű embereket, domain szakértőket, amennyire az lehetséges. Ezzel elérhető, hogy a tesztelés ne tisztán műszaki feladat legyen, hanem ugyanúgy, mint a fejlesztés: üzlet által meghatározott, vagy legalábbis ellenőrzött feladatokat hajtson végre a műszaki csapat. E nélkül a felelősség teljesen a műszaki szakembereken van: mennyire teljes a tesztelés, mennyire fedi le az üzleti igény által kívánt funkciókat és nem funkcionális elvárásokat.
Oke, a jdbc implementacio keszites nem elofeltetel valoban, csak arra akartam felhivni a figyelemet, hogy a "kepben levesnek" eleg sok fajtaja letezik.
A sorrendet tovabbra is fenntartom. Az en szubjektiv velemenyem szerint erdemes alulrol epitkezni szintek kihagyasa nelkul. Igy mire eljutsz a JPA-ig addigra mar egyertelmu lesz, h miert van benne 1-2 opcio vagy miert ugy valositottak meg vmit ahogy. Ha azzal kezdenel nem biztosa hogy ezek a dolgok rogton atjonnek.
Tehat ismered tovirol hegyire, hogy milyen classok, interfacek, funkciok vannak a jdbc4 apiban? Ismered milyen pattern-re epul a jdbc? Netalan tudnal egy jdbc implementaciot kesziteni?
Nyilván nem, csupán annyira hogy képes legyek az adott adatbázis kezelővel (PostgreSQL, Java DB, H2 DB, ezekkel foglalkoztam eddig) kapcsolatot létrehozni, és az alapvető műveleteket elvégezni. Nézd én nem vagyok hivatásos fejlesztő, nem is keresek vele pénzt, nekem ez elsősorban hobbi, másodsorban a munkahelyemen oldok meg vele kisebb feladatokat, "saját szakállamra". Önszorgalomból foglalkozom vele, mert érdekel. A JPA és a perzisztencia is ezért került képbe. Másrészt, én a fokozatosság, "lépésről lépésre" híve vagyok, és szerintem ahhoz hogy megértsem a JPA-t, nem kell tudom JDBC implementációt készíteni.
En Bredaban melozom most, ugyhogy nekem egy kopesnyire van. Most azon izgulok, hogy a ceg elintezte-e a jegyet, illetve hogy elengednek-e mert eppen project atadas van...
Tehat ismered tovirol hegyire, hogy milyen classok, interfacek, funkciok vannak a jdbc4 apiban? Ismered milyen pattern-re epul a jdbc? Netalan tudnal egy jdbc implementaciot kesziteni?
A masik hogy a jdbc sem teljesen fuggetlen attol hogy milyen adatbazis van a hatterben. pl. Az oracle nagyon nem szereti ha preparedStatement-ekbol tobbet nyitogatsz es kenyes erre. Mas meg masra.