[Zápočet] Java 21.1.2009

Každý neuvedený předmět
Osiris
Supermatfyz(ák|ačka)
Příspěvky: 403
Registrován: 11. 11. 2006 14:10
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

[Zápočet] Java 21.1.2009

Příspěvek od Osiris »

Dneska jsme měli naprogramovat variaci na unixovský cut:

Program měl běžet ve dvou modech, s delimiterama, pak bral pole podle oddělovačů, a binární mód, který bral co znak, to sloupec
parametry byly takovehle (b je binarni mod):

Kód: Vybrat vše

program -d delimiter -f pole 
program -b pole   
Prislo mi to docela lehke, ale zasekl jsem se na regularnich vyrazech, takze jsem to dodelal asi 45 minut pred koncem, nez mi to Hnetynka uznal.

[[ slouceno by Hypiz ]]
Osiris
Uživatelský avatar
Necroman
Supermatfyz(ák|ačka)
Příspěvky: 459
Registrován: 20. 1. 2005 19:46
Typ studia: Informatika Mgr.
Bydliště: Louny / kolej Jednota, Praha
Kontaktovat uživatele:

Java [Zap] 21. 1. 2009 9:00

Příspěvek od Necroman »

Dnesni zadani bylo na prvni pohled lehke, ale nachytalo se na nem dost lidi:

Kód: Vybrat vše

vytvorte alternativu linuxoveho prikazu  cut  - program cte data ze std vstupu a pise na std vystup. z kazdeho radku zobrazi ty sloupce, oddelene zadanym oddelovacem, ktere jsou zadane v prikazu. parametry:
-d : - nastaveni oddelovace na jednotlivych radcich
-f 2,3-5,-7,4- - nastaveni, ktere sloupce vybrat, muze byt zadan jeden, interval ci z jedne strany otevreny interval
-b 2,3-5,-7,4- - vypsat ne sloupce, ale znaky ci intervaly znaku na dane pozici, intervaly jsou stejne, jako u -f
v mem pripade jsem mel zaklad hotovy za hodinu, druhou hodinu jsem ladil problemy s indexy, kterych bylo mraky, dalsi pul hodinu problem se spatne pochopenym zadanim :) a posledni pulhodinu to, ze jsem oddelovac posilal primo do string.split a pokud byl oddelovac jako regex, tak to delalo problemy. Nakonec jsem to s primhourenymi oci dal, ale kdyz jsem na samem konci odchazel, dobre jeste 10 lidi tam sedelo a nevypadalo to, ze by to dokoncili.
WANTED:
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Control

Re: Java [Zap] 21. 1. 2009 9:00

Příspěvek od Control »

Doplneni zadani

Clovek si mohl byt jisty ze:
- oddelovacem nebude
(vstup se mohl nacitat po radcich)
- rozsahy x-y, kde x > y mohl oznamit jako chybu

Pozor:
* Pri parsovani rozsahu (napr. 1-5) pozor, pokud zavolate Integer.parseInt("-5") udela presne to, co ma vrati -5.

* Pokud budete spoustet program z konzole z pomoci "java -jar ./dist/jmenoVasehoProjektu.jar < vstupniData" tak pri kazdem buildu v NetBeansy adresar ./dist/ smazou a znovu vytvori => filedescriptor zustane v pameti (protoze mate otevreny terminal ve kterem jste v adresari /dist/).
Dusledkem bude, ze v danem okne terminalu nebudou v ./dist/ zadne soubory a spusteni pres java -jar vyhodi: "jmenoVasehoProjektu.jar is unreachable".
Moznym resenim je spoustet vse pres:
cd `pwd` ; java -jar ./dist/jmenoVasehoProjektu.jar < vstupniData

* Pozor taky, pokud naalokujete prilis mnoho pameti (samotne netbeans berou radove stovky Mb) system Vam sestreli X-ka (stalo se mi, ze se pc po spusteni programu (s chybou) sam "odhlasil")

* Potvrzuju, ze alespon pro 8 lidi to nebyla posledni navsteva zapoctoveho terminu z Javy... a to nebyl Swing/sitoviny/thready
HonzaK
Matfyz(ák|ačka) level II
Příspěvky: 71
Registrován: 28. 9. 2007 17:36
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: Java [Zap] 21. 1. 2009 9:00

Příspěvek od HonzaK »

Necroman píše: ...a posledni pulhodinu to, ze jsem oddelovac posilal primo do string.split a pokud byl oddelovac jako regex, tak to delalo problemy.
Mohl byste, prosim, nekdo popsat o jake problemy slo a jak ste je resili ? Podle dokumentace by metoda split mela brat jako oddelovac prave regexp, takze bych cekal, ze to bude fungovat rovnou...?!
Diky
Uživatelský avatar
Necroman
Supermatfyz(ák|ačka)
Příspěvky: 459
Registrován: 20. 1. 2005 19:46
Typ studia: Informatika Mgr.
Bydliště: Louny / kolej Jednota, Praha
Kontaktovat uživatele:

Re: Java [Zap] 21. 1. 2009 9:00

Příspěvek od Necroman »

HonzaK píše:
Necroman píše: ...a posledni pulhodinu to, ze jsem oddelovac posilal primo do string.split a pokud byl oddelovac jako regex, tak to delalo problemy.
Mohl byste, prosim, nekdo popsat o jake problemy slo a jak ste je resili ? Podle dokumentace by metoda split mela brat jako oddelovac prave regexp, takze bych cekal, ze to bude fungovat rovnou...?!
Diky
Pokud zadas jako oddelovac treba \ nebo [ nebo . nebo jakykoliv jiny specialni znak z reg. vyrazu, tak mas problem... je treba je manualne odescapovat pridanim \pred nej. Jako vstup do string.split musi byt spravny regularni vyraz a to v tomto pripade neni treba samotny backslash.
WANTED:
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Odpovědět

Zpět na „Ostatní“