Você está na página 1de 35

Tutorial do Alfred

Biblioteca Alfred
Utilitrios, Validadores e Formatadores para Java
Verso 1.1 - ltima atualizao em 10 de Setembro de 2010
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 1
Tutorial do Alfred
Sumrio
1. )i*e(a do +l$red................................................................................... ,
2. )i*e(a deste -a(ual.............................................................................. .
/. Sobre o +l$red....................................................................................... 0
,. 1omo Usar.......................................................................................... 10
2. 1o(versores........................................................................................ 11
2.1. +rmaze(ame(to..............................................................................11
2.2. 3ase 4um5ri*a............................................................................... 11
2./. 1omprime(to.................................................................................11
2.,. -assa.......................................................................................... 12
2.2. -oeda......................................................................................... 1/
2.6. 7emperatura..................................................................................1/
2.8. 7empo......................................................................................... 1/
2... Volume........................................................................................ 1,
6. Formatadores...................................................................................... 12
6.1. 19'.............................................................................................12
6.2. 14'J........................................................................................... 12
6./. 1'F.............................................................................................12
6.,. :ata............................................................................................16
6.2. ;(s*rio 9stadual........................................................................... 16
6.6. -oeda......................................................................................... 16
6.8. ';S"'+S9'..................................................................................... 18
6... 7ele$o(e.......................................................................................18
8. ;(utilitrios.........................................................................................1.
.. Utilitrios...........................................................................................10
..1. 3a(*os......................................................................................... 10
..2. 3ea(s.......................................................................................... 20
../. 3ulrio.........................................................................................21
..,. 1lima.......................................................................................... 21
..2. 1ole<es......................................................................................21
..6. 1orreios....................................................................................... 22
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 2
Tutorial do Alfred
..8. 1'F e 14'J................................................................................... 2/
.... 1;:............................................................................................. 2,
..0. :ata............................................................................................2,
..10. :i*io(rios..................................................................................22
..11. :=&ito Veri$i*ador...........................................................................26
..12. F=si*a......................................................................................... 26
..1/. >or?s*opos.................................................................................. 28
..1,. ;diomas.......................................................................................28
..12. ;(s*rio 9stadual.......................................................................... 2.
..16. )oterias...................................................................................... 2.
..18. -atemti*a..................................................................................2.
..1.. -=dia......................................................................................... /0
..10. -@si*a......................................................................................../0
..20. 4et............................................................................................/0
..21. ';S"'+S9'..................................................................................../1
..22. 7eAto......................................................................................... /1
..2/. >7-)......................................................................................... /2
..2,. 7rB(sito...................................................................................... //
0. Validadores......................................................................................... /,
0.1. 14'J........................................................................................... /,
0.2. 1'F............................................................................................./,
0./. :iversos....................................................................................... /,
0.,. ;(s*rio 9stadual........................................................................... /,
0.2. 9-mail........................................................................................../2
0.6. 4@meros......................................................................................./2
0.8. ';S"'+S9'..................................................................................... /2
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a /
Tutorial do Alfred
1. Licena do Alfred
C +l$red 5 dispo(ibilizado sob a li*e(a )D') /. VeEa abaiAo o teAto da li*e(a. :e $orma basta(te
simples, podemos dizer Fue vo*G pode usar livreme(te. C +l$red 5 uma bibliote*a ope(sour*e.
GNU LESSER GENERAL PUBLIC LICENSE
Versio( /, 20 Ju(e 2008
1op%ri&t H 2008 Free So$t#are Fou(datio(, ;(*. Ittp!""$s$.or&"J
9ver%o(e is permitted to *op% a(d distribute verbatim *opies o$ tis li*e(se do*ume(t, but *a(&i(&
it is (ot allo#ed.
7is versio( o$ te D4U )esser De(eral 'ubli* )i*e(se i(*orporates te terms a(d *o(ditio(s o$
versio( / o$ te D4U De(eral 'ubli* )i*e(se, suppleme(ted b% te additio(al permissio(s listed
belo#.
0. +dditio(al :e$i(itio(s.
+s used erei(, Ktis )i*e(seL re$ers to versio( / o$ te D4U )esser De(eral 'ubli* )i*e(se, a(d te
KD4U D')L re$ers to versio( / o$ te D4U De(eral 'ubli* )i*e(se.
K7e )ibrar%L re$ers to a *overed #orM &over(ed b% tis )i*e(se, oter ta( a( +ppli*atio( or a
1ombi(ed NorM as de$i(ed belo#.
+( K+ppli*atio(L is a(% #orM tat maMes use o$ a( i(ter$a*e provided b% te )ibrar%, but #i* is (ot
oter#ise based o( te )ibrar%. :e$i(i(& a sub*lass o$ a *lass de$i(ed b% te )ibrar% is deemed a
mode o$ usi(& a( i(ter$a*e provided b% te )ibrar%.
+ K1ombi(ed NorML is a #orM produ*ed b% *ombi(i(& or li(Mi(& a( +ppli*atio( #it te )ibrar%. 7e
parti*ular versio( o$ te )ibrar% #it #i* te 1ombi(ed NorM #as made is also *alled te K)i(Med
Versio(L.
7e K-i(imal 1orrespo(di(& Sour*eL $or a 1ombi(ed NorM mea(s te 1orrespo(di(& Sour*e $or te
1ombi(ed NorM, eA*ludi(& a(% sour*e *ode $or portio(s o$ te 1ombi(ed NorM tat, *o(sidered i(
isolatio(, are based o( te +ppli*atio(, a(d (ot o( te )i(Med Versio(.
7e K1orrespo(di(& +ppli*atio( 1odeL $or a 1ombi(ed NorM mea(s te obEe*t *ode a(d"or sour*e
*ode $or te +ppli*atio(, i(*ludi(& a(% data a(d utilit% pro&rams (eeded $or reprodu*i(& te
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a ,
Tutorial do Alfred
1ombi(ed NorM $rom te +ppli*atio(, but eA*ludi(& te S%stem )ibraries o$ te 1ombi(ed NorM.
1. 9A*eptio( to Se*tio( / o$ te D4U D').
Oou ma% *o(ve% a *overed #orM u(der se*tio(s / a(d , o$ tis )i*e(se #itout bei(& bou(d b% se*tio(
/ o$ te D4U D').
2. 1o(ve%i(& -odi$ied Versio(s.
;$ %ou modi$% a *op% o$ te )ibrar%, a(d, i( %our modi$i*atio(s, a $a*ilit% re$ers to a $u(*tio( or data
to be supplied b% a( +ppli*atio( tat uses te $a*ilit% Poter ta( as a( ar&ume(t passed #e( te
$a*ilit% is i(voMedQ, te( %ou ma% *o(ve% a *op% o$ te modi$ied versio(!
aQ u(der tis )i*e(se, provided tat %ou maMe a &ood $ait e$$ort to e(sure tat, i( te eve(t
a( +ppli*atio( does (ot suppl% te $u(*tio( or data, te $a*ilit% still operates, a(d per$orms
#atever part o$ its purpose remai(s mea(i(&$ul, or
bQ u(der te D4U D'), #it (o(e o$ te additio(al permissio(s o$ tis )i*e(se appli*able to
tat *op%.
/. CbEe*t 1ode ;(*orporati(& -aterial $rom )ibrar% >eader Files.
7e obEe*t *ode $orm o$ a( +ppli*atio( ma% i(*orporate material $rom a eader $ile tat is part o$
te )ibrar%. Oou ma% *o(ve% su* obEe*t *ode u(der terms o$ %our *oi*e, provided tat, i$ te
i(*orporated material is (ot limited to (umeri*al parameters, data stru*ture la%outs a(d a**essors,
or small ma*ros, i(li(e $u(*tio(s a(d templates Pte( or $e#er li(es i( le(&tQ, %ou do bot o$ te
$ollo#i(&!
aQ Dive promi(e(t (oti*e #it ea* *op% o$ te obEe*t *ode tat te )ibrar% is used i( it a(d
tat te )ibrar% a(d its use are *overed b% tis )i*e(se.
bQ +**ompa(% te obEe*t *ode #it a *op% o$ te D4U D') a(d tis li*e(se do*ume(t.
,. 1ombi(ed NorMs.
Oou ma% *o(ve% a 1ombi(ed NorM u(der terms o$ %our *oi*e tat, taMe( to&eter, e$$e*tivel% do (ot
restri*t modi$i*atio( o$ te portio(s o$ te )ibrar% *o(tai(ed i( te 1ombi(ed NorM a(d reverse
e(&i(eeri(& $or debu&&i(& su* modi$i*atio(s, i$ %ou also do ea* o$ te $ollo#i(&!
aQ Dive promi(e(t (oti*e #it ea* *op% o$ te 1ombi(ed NorM tat te )ibrar% is used i( it
a(d tat te )ibrar% a(d its use are *overed b% tis )i*e(se.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 2
Tutorial do Alfred
bQ +**ompa(% te 1ombi(ed NorM #it a *op% o$ te D4U D') a(d tis li*e(se do*ume(t.
*Q For a 1ombi(ed NorM tat displa%s *op%ri&t (oti*es duri(& eAe*utio(, i(*lude te
*op%ri&t (oti*e $or te )ibrar% amo(& tese (oti*es, as #ell as a re$ere(*e dire*ti(& te user
to te *opies o$ te D4U D') a(d tis li*e(se do*ume(t.
dQ :o o(e o$ te $ollo#i(&!
0Q 1o(ve% te -i(imal 1orrespo(di(& Sour*e u(der te terms o$ tis )i*e(se, a(d te
1orrespo(di(& +ppli*atio( 1ode i( a $orm suitable $or, a(d u(der terms tat permit,
te user to re*ombi(e or reli(M te +ppli*atio( #it a modi$ied versio( o$ te )i(Med
Versio( to produ*e a modi$ied 1ombi(ed NorM, i( te ma((er spe*i$ied b% se*tio( 6 o$
te D4U D') $or *o(ve%i(& 1orrespo(di(& Sour*e.
1Q Use a suitable sared librar% me*a(ism $or li(Mi(& #it te )ibrar%. + suitable
me*a(ism is o(e tat PaQ uses at ru( time a *op% o$ te )ibrar% alread% prese(t o(
te userRs *omputer s%stem, a(d PbQ #ill operate properl% #it a modi$ied versio( o$
te )ibrar% tat is i(ter$a*e-*ompatible #it te )i(Med Versio(.
eQ 'rovide ;(stallatio( ;($ormatio(, but o(l% i$ %ou #ould oter#ise be reFuired to provide
su* i($ormatio( u(der se*tio( 6 o$ te D4U D'), a(d o(l% to te eAte(t tat su*
i($ormatio( is (e*essar% to i(stall a(d eAe*ute a modi$ied versio( o$ te 1ombi(ed NorM
produ*ed b% re*ombi(i(& or reli(Mi(& te +ppli*atio( #it a modi$ied versio( o$ te )i(Med
Versio(. P;$ %ou use optio( ,d0, te ;(stallatio( ;($ormatio( must a**ompa(% te -i(imal
1orrespo(di(& Sour*e a(d 1orrespo(di(& +ppli*atio( 1ode. ;$ %ou use optio( ,d1, %ou must
provide te ;(stallatio( ;($ormatio( i( te ma((er spe*i$ied b% se*tio( 6 o$ te D4U D') $or
*o(ve%i(& 1orrespo(di(& Sour*e.Q
2. 1ombi(ed )ibraries.
Oou ma% pla*e librar% $a*ilities tat are a #orM based o( te )ibrar% side b% side i( a si(&le librar%
to&eter #it oter librar% $a*ilities tat are (ot +ppli*atio(s a(d are (ot *overed b% tis )i*e(se,
a(d *o(ve% su* a *ombi(ed librar% u(der terms o$ %our *oi*e, i$ %ou do bot o$ te $ollo#i(&!
aQ +**ompa(% te *ombi(ed librar% #it a *op% o$ te same #orM based o( te )ibrar%,
u(*ombi(ed #it a(% oter librar% $a*ilities, *o(ve%ed u(der te terms o$ tis )i*e(se.
bQ Dive promi(e(t (oti*e #it te *ombi(ed librar% tat part o$ it is a #orM based o( te
)ibrar%, a(d eAplai(i(& #ere to $i(d te a**ompa(%i(& u(*ombi(ed $orm o$ te same #orM.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 6
Tutorial do Alfred
6. Sevised Versio(s o$ te D4U )esser De(eral 'ubli* )i*e(se.
7e Free So$t#are Fou(datio( ma% publis revised a(d"or (e# versio(s o$ te D4U )esser De(eral
'ubli* )i*e(se $rom time to time. Su* (e# versio(s #ill be similar i( spirit to te prese(t versio(,
but ma% di$$er i( detail to address (e# problems or *o(*er(s.
9a* versio( is &ive( a disti(&uisi(& versio( (umber. ;$ te )ibrar% as %ou re*eived it spe*i$ies tat a
*ertai( (umbered versio( o$ te D4U )esser De(eral 'ubli* )i*e(se Kor a(% later versio(L applies to
it, %ou ave te optio( o$ $ollo#i(& te terms a(d *o(ditio(s eiter o$ tat publised versio( or o$
a(% later versio( publised b% te Free So$t#are Fou(datio(. ;$ te )ibrar% as %ou re*eived it does
(ot spe*i$% a versio( (umber o$ te D4U )esser De(eral 'ubli* )i*e(se, %ou ma% *oose a(% versio(
o$ te D4U )esser De(eral 'ubli* )i*e(se ever publised b% te Free So$t#are Fou(datio(.
;$ te )ibrar% as %ou re*eived it spe*i$ies tat a proA% *a( de*ide #eter $uture versio(s o$ te D4U
)esser De(eral 'ubli* )i*e(se sall appl%, tat proA%Rs publi* stateme(t o$ a**epta(*e o$ a(% versio(
is perma(e(t autorizatio( $or %ou to *oose tat versio( $or te )ibrar%.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 8
Tutorial do Alfred
2. Licena dete !anual
9ste ma(ual est sob a li*e(a Attribution S"are Ali#eT, a*ess=vel em
ttp!""*reative*ommo(s.or&"li*e(ses"b%-sa"/.0.
This license lets others remix, tweak, and build upon your work even for commercial reasons, as long as they credit you and
license their new creations under the identical terms. This license is often compared to open source software licenses. All new
works based on yours will carry the same license, so any derivatives will also allow commercial use.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a .
Tutorial do Alfred
$. Sobre o Alfred
C +l$red sur&iu de mi(a (e*essidade em a&rupar utilitrios &e(5ri*os em um @(i*o lu&ar. +(tes, era
*omum eu ter diversos apli*ativos em Fue eAistiam *?di&os i(teressa(tes e Fue poderiam ser
dispo(ibilizados para a *omu(idade. 9m al&u(s *asos, isto (o era poss=vel, pois a $u(*io(alidade
estava e(raizada (o pr?prio apli*ativo.
Sur&iu, e(to, a ideia! vou *o(struir uma bibliote*a ope(sour*e, *olo*ar l essas $u(*io(alidades e
passar a us-la em meus proEetos. Sur&iu o +l$red. 9 o (omeU 3om, admito Fue $oi por pura $alta de
*riatividade mesmo. ;ma&i(ei (o mordomo do 3atma(, o tal +l$red. C *ara est l para aEudar um
er?i e Fuase (i(&u5m lembra dele. + ideia da bibliote*a 5 esta tamb5m. 9st a= para aEudar os
pro&ramadores e (i(&u5m pre*isa lembrar Fue ela eAiste. !Q
Um pou*o da $iloso$ia do +l$red. C obEetivo 5 ter um *o(Eu(to de $u(*io(alidades Fue (o depe(dem
de bibliote*as eAter(as. 'orta(to, vo*G (o ver depe(dG(*ias a lo&,E, iber(ate e FualFuer Fue
seEam as bibliote*as. C obEetivo 5 Fue o +l$red seEa um (@*leo i(depe(de(te.
're*iso deiAar meus a&rade*ime(tos a al&u(s *olaboradores importa(t=ssimos, *omo o -rio Jor&e
'ereira pelas *o(sta(tes ideias. 1arlos :a(iel -er*er pela *o(tribuio *om *?di&o e a Sodri&o
-oreira Fa&u(des, Fue *o(tribui *om ta(to *?di&o Fue E $az parte ativame(te do time.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 0
Tutorial do Alfred
%. Co&o Uar
Vo*G pode usar o +l$red obte(do o arFuivo alfred.jar e *olo*a(do-o (o *lasspat de sua apli*ao ou
usa(do o (osso reposit?rio -ave(. 4este se&u(do *aso, adi*io(e Vs depe(dG(*ias de seu proEeto as
se&ui(tes li(as!
01. <repositories>
02. <repository>
03. <id>alfredlibrary-snapshot.googlecode.com </id>
04. <name>Alfred Library Snapshot</name>
05. <url>http://alfredlibrary.googlecode.com/svn/repository/snapshot </url>
06. </repository>
07. <repository>
08. <id>alfredlibrary-release.googlecode.com </id>
09. <name>Alfred Library Snapshot</name>
10. <url>http://alfredlibrary.googlecode.com/svn/repository/release </url>
11. </repository>
12. </repositories>
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 10
Tutorial do Alfred
'. Con(erore
Cs *o(versores (o +l$red so uma $orma $*il e basta(te prti*a para vo*G *o(verter e(tre u(idades
de medida. :ispo(ibilizamos diversos tipos de 1o(versores. Vo*G e(*o(tra estes *o(versores (o
pa*ote org.alfredlibrary.conversores. Vamos ver abaiAo *ada *o(versor e rpidos eAemplos *omo
utiliz-los.
'.1. Ar&a)ena&ento
C *o(versor de armaze(ame(to serve para vo*G *o(verter e(tre u(idades do tipo bit, Milobit,
me&abit, &i&abit, terabit, petabit, eAabit, b%te, Milob%te, me&ab%te, &i&ab%te, terab%te, petab%te e
eAab%te. Vamos aos eAemplos de uso!
1. *ublic (oid *o(verterPQ W
2. :ouble arm X +rmaze(ame(to.converterP1d, U(idade.EXABYTE, U(idade.PETABYTEQY
/. Z
9Aemplo de *o(verso de 9Aab%te para 7erab%te.
4o eAemplo a*ima, vo*G est *o(verte(do um P1Q eAab%te em petab%tes. C primeiro parBmetro 5 o
valor Fue vo*G Fuer *o(verter. C se&u(do, a u(idade de e(trada. C ter*eito parBmetro 5 a u(idade
de sa=da. :a mesma $orma, vo*G poderia *o(verter um &i&ab%te em me&ab%tes.
1. *ublic (oid *o(verterPQ W
2. :ouble arm X +rmaze(ame(to.converterP1d, U(idade.GIGABYTE, U(idade.MEGABYTEQY
/. Z
9Aemplo de *o(verso de Di&ab%te para -e&ab%te.
'.2. Bae Nu&+rica
9sta 5 boa para Fuem a*abou de e(trar (a $a*uldade de *iG(*ias da *omputao !Q. 4o i(=*io do *urso
vo*G 5 bombardeado *om provas Fue pedem para vo*G *o(verter de bi(rio para de*imal, de
eAade*imal para bi(rio e por a= vai. [ muito *ato\ C +l$red d uma $ora $aze(do estas *o(vers<es
para vo*G. +s bases (um5ri*as suportadas so 3i(rio, C*tal, :e*imal e >eAade*imal.
1. *ublic (oid *o(verterPQ W
2. Stri(& bi(ario X 3ase4umeri*a.converterP]2], 3ase.DECIMAL, 3ase.BINAI!QY
/. Z
9Aemplo de *o(verso de um (@mero (a base de*imal para a base bi(ria.
'.$. Co&*ri&ento
're*isa *o(verter Fuil^metros para EardasU 9 o Fue vo*G a*a de *o(verter metros para l5&uas
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 11
Tutorial do Alfred
mar=timasU 9(to, use o *o(versor de *omprime(to. So vrias as u(idades suportadas!
_uil^metro
>e*t^metro
:e*Bmetro
-etro
:e*=metro
1e(t=metro
-il=metro
-i*rometro
4a(^metro
+(&strom
Sem *o(tar (as u(idades me(os *o(ve(*io(ais, *omo Jardas, '5s, -ilas e )5&uas. Vamos a um
eAemplo de uso!
1. *ublic (oid *o(verterPQ W
2. :ouble *omp X 1omprime(to.converterP1:, U(idade.NAN!MET!, U(idade.ANG"T!MQY
/. Z
9Aemplo de *o(verso de (a(^metro para a(&strom.
'.%. !aa
4o, (o estou $ala(do de ma*arro ou lasa(a. +Fui vo*G tem um *o(versor para as u(idades
7o(elada, _uilo&rama, >e*to&rama, Drama, 1e(ti&rama, _uilate, -ili&rama, -i*ro&rama e
4a(o&rama. -as tamb5m temos outras u(idades pou*o *o(ve(*io(ais aFui (o 3rasil. So elas!
,na Tro- 'ara metais pre*iosos, &emas ou medi*ame(tos.
,na A(ordu*io 'ara obEetos em &eral.
Libra Tro- 'ara metais pre*iosos, &emas ou medi*ame(tos.
Libra A(ordu*io 'ara obEetos em &eral.
Libra I&*erial :e$i(io obsoleta do ato de pesos e medidas de 1.8. PU`Q.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 12
Tutorial do Alfred
Arroba 'ara &ado.
Arroba Braileira 'ara &ado, (o padro brasileiro.
Vamos a um eAemplo de uso!
1. *ublic (oid *o(verterPQ W
2. :ouble massa X -assa.converterP1d, U(idade.T!NELADA, U(idade.#$IL!GAMAQY
/. Z
9Aemplo de *o(verso de to(elada para Fuilo&rama.
'.'. !oeda
_uer saber a *otao do real $re(te ao d?larU 9 porFue (o a *otao do d?lar $re(te ao peso
ar&e(ti(oU [ $*il, basta usar o *o(versor de -oeda do +l$red. 9ste *o(versor (e*essita de uma
*o(eAo *om a ;(ter(et, pois a *o(verso 5 realizada atrav5s do s=tio do 3a(*o 1e(tral do 3rasil. VeEa
um eAemplo!
1. *ublic (oid *o(verterPQ W
2. Stri(& moeda X -oeda.converterP]1,00], -oeda.E"TAD!"$NID!", -oeda.BA"ILQY
/. Z
9Aemplo de *o(verso de d?lar para real.
4este eAemplo, vo*G est *o(verte(do um d?lar para real. +s moedas so muitas, (o $i*aria le&al
list-las aFui. -as d pra dizer Fue tem /2 tipos de moedas dispo(=veis.
'... Te&*eratura
+&ora vamos *o(verter e(tre u(idades de temperaturaU C +l$red, atrav5s deste *o(versor, tem as
u(idades 1elsius, Fare(eit e `elvi(. Seu uso tamb5m 5 $*il, $*il. VeEa lo&o abaiAo.
1. *ublic (oid *o(verterPQ W
2. Float temperatura X 7emperatura.converterP1, U(idade.CEL"I$", U(idade.%A&EN&EITQY
/. Z
9Aemplo de *o(verso de 1elsius para Fare(eit.
'./. Te&*o
Vamos *o(verter oras em mil5simos de se&u(doU 3asta usar o *o(versor de 7empo do +l$red. +s
u(idades vo*G E deve *o(e*er, *ertoU
>ora
-i(uto
Se&u(do
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 1/
Tutorial do Alfred
:5*imo de Se&u(do
1e(t5simo de Se&u(do
-il5simo de Se&u(do
Sem muita *o(versa, vamos lo&o ao eAemplo.
1. *ublic (oid *o(verterPQ W
2. :ouble tempo X 7empo.converterP1, 7empo.U(idade.&!A, 7empo.U(idade.MIN$T!QY
/. Z
9Aemplo de *o(verso de >oras para -i(utos.
'.0. 1olu&e
1e&ou a ora de *o(verter e(tre u(idades de Volume. 9 Fuais esto dispo(=veisU Vrias, al5m das
tradi*io(ais, *omo Fuilolitro, e*tolitro, de*alitro, litro, de*ilitro, *e(tilitro, mililitro, mi*rolitro e
(a(olitro. 7em tamb5m al&umas pou*o *o(ve(*io(ais aFui (o 3rasil! C(a, Dalo e 3arril.
1. *ublic (oid *o(verterPQ W
2. :ouble volume X Volume.converterP1, Volume.U(idade.#$IL!LIT!, Volume.U(idade.&ECT!LIT!QY
/. Z
9Aemplo de *o(verso de _uilolitro para >e*tolitro.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 1,
Tutorial do Alfred
.. 2or&atadore
Vimos os *o(versores e a&ora partiremos para os $ormatadores. Formatar teAtos 5 uma *oisa basta(te
*omum em Fuase todas as apli*a<es. _uase sempre apare*e um 1'F para *olo*ar ou tirar os po(tos.
Cu e(to, um tele$o(e. 7amb5m um 19'. C +l$red E *o(ta *om al&umas $ormata<es mais *omu(s!
19', 1'F, 14'J, :ata, -oeda e 7ele$o(e. Vamos ver *ada um destes (os pr?Aimos t?pi*os. C pa*ote
o(de se e(*o(tram os $ormatadores 5 o org.alfredlibrary.for'atadores.
..1. CEP
Vamos $ormatar seu 19'U :i&amos Fue o usurio di&itou ,02002.0 mas vo*G Fuer &uardar (o ba(*o de
dados (o $ormato ,0.200-2.0. Cu tamb5m ,0200-2.0. C +l$red $az estas duas $ormata<es para vo*G.
1. *ublic (oid $ormatarPQ W
2. "" Seu 19' (o $ormato ,0200-2.0.
/. Stri(& *ep X 19'.$ormatarP],02002.0], trueQY
,. Z
9Aemplo de $ormatao de 19' simples.
Cbservou o parBmetro tr(e (o eAemplo a*imaU 9le ape(as diz Fue 5 para usar a $ormatao
simpli$i*ada, ou seEa, aFuela Fue (o usa o po(to.
1. *ublic (oid $ormatarPQ W
2. "" Seu 19' (o $ormato ,0.200-2.0.
/. Stri(& *ep X 19'.$ormatarP],02002.0], faleQY
,. Z
9Aemplo de $ormatao de 19' (ormal.
..2. CNP3
+&ora vo*G pre*isa $ormatar um 14'J. 4o se desespere *om ta(tos s(bstring, deiAe o +l$red resolver
este problema. Um 14'J do tipo 1210/022/0001., ser $ormatado para 12.1/0.22/"0001-.,. VeEa
*omo usar (o eAemplo abaiAo.
1. *ublic (oid $ormatarPQ W
2. "" 14'J $ormatado *omo 12.1/0.22/"0001-.,
/. Stri(& *(pE X 14'J.for'atarP]121/022/0001.,]QY
,. Z
9Aemplo de $ormatao de 14'J.
..$. CP2
Cpa. 4a verdade, vo*G Fuer 5 $ormatar um 1'F\ 4este *aso, o +l$red tamb5m aEuda. 'asse um 1'F
(o $ormato 11111111111 Fue o +l$red tra(s$orma em 111.111.111-11. 9Aemplo lo&o abaiAo.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 12
Tutorial do Alfred
1. *ublic (oid $ormatarPQ W
2. "" 1'F $ormatado *omo 111.111.111-11
/. Stri(& *p$ X 1'F.for'atarP]11111111111]QY
,. Z
9Aemplo de $ormatao de 1'F.
..%. 4ata
9 $ormatao de data em JavaU Um pou*o *ato, (o a*aU -as o +l$red tamb5m d uma $or*i(a
aFui. Vo*G pode at5 $ormatar por eAte(so\ Uma data 12"02"2010 pode se tra(s$ormar em K12 de
maio de 2010L.
1. *ublic (oid $ormatarPQ W
2. 1ale(dar *ale(dar X 1ale(dar.getInstancePQY
/. *ale(dar.setP1ale(dar.DAY*!%*M!NT&, 12QY
,. *ale(dar.setP1ale(dar.M!NT&, 02QY
2. *ale(dar.setP1ale(dar.YEA, 2010QY
6. Stri(& data X :ata.for'atarPorE+tensoP*ale(dar.&et7imePQQY
8. +ssert.assertE,(alsP]12 :9 JU4>C :9 2010], data.toUpper1asePQQY
.. Z
9Aemplo de $ormatao de :ata por eAte(so.
VeEamos, a&ora, uma $ormatao mais *omum, (a Fual um padro para $ormatao da data 5 passado
*omo parBmetro. Cbserve Fue este padro 5 o mesmo Fue vo*G usaria (o "i'-leDate%or'at.
1. *ublic (oid $ormatarPQ W
2. Stri(& data X :ata.for'atarPne5 :atePQ, ]dd"--"%%%%]QY
/. Z
9Aemplo de $ormatao de :ata.
..'. Incri6o Etadual
;(s*rio 9stadual 5 uma *oisa *ata. 1ada estado tem seu $ormato, E per*ebeuU 9 vo*G sabe todos
os $ormatosU 4o pre*isa\ C +l$red E le d isso de prese(te.
1. *ublic (oid *o(verterPQ W
2. ;(s*ri*ao9stadual.for'atarP'adrao;(s*ri*ao9stadual.ACE, ]01,08,2/0]Q
/. Z
Formatador de ;(s*rio 9stadual.
.... !oeda
Cpa. Vo*G E $alou em moeda a(tes. Sim, $alei. -as era o *o(versor de moedas. +&ora vo*G tem um
$ormatador\ 'odemos $ormatar moedas de duas $ormas *om este utilitrio. 'rimeiro podemos
$ormatar o valor para eAte(so. Vo*G passa o valor 10.00 e tem *omo retor(o uma "tring K10 reaisL.
9(te(deuU VeEa o eAemplo abaiAo.
1. *ublic (oid $ormatarPQ W
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 16
Tutorial do Alfred
2. "" C resultado ser Kvi(te e um reais e dez *e(tavosL.
/. Stri(& moeda X -oeda.for'atarP21.10QY
,. Z
9Aemplo de $ormatao de moeda para eAte(so.
+ outra opo 5 $ormatar a moeda se&ui(do um determi(ado padro. 9(to, se vo*G passa 10.00,
ter *omo retor(o KSa 10,00L, *aso vo*G te(a pedido a $ormatao da moeda brasileira. VeEa um
eAemplo abaiAo.
1. *ublic (oid $ormatarPQ W
2. Stri(& moeda X -oeda.for'atarP21.10, -oeda)o*al.BA"ILQY
/. Z
9Aemplo de $ormatao de moeda.
../. PIS7PASEP
Vamos a&ora $ormatar um ';S"'+S9'U 4o sabe o Fue 5U 1laro Fue sabe. Sempre Fue vo*G arra(Ea um
empre&o pela 1)7, pre*isa i($ormar isto e estes dados (ormalme(te esto (a sua *arteira de
trabalo.
1. *ublic (oid $ormatarPQ W
2. Stri(& moeda X ';S'+S9'.for'atarP]1111111111,]QY
/. Z
9Aemplo de $ormatao de ';S"'+S9'.
..0. Telefone
Vo*G tamb5m pode $ormatar tele$o(es. 9 de trGs $ormas di$ere(tes. 4o primeiro *aso, vo*G pode
$ormatar o tele$o(e 11112222 para 1111-2222. 9 se tiver o :::U C tele$o(e 8111112222 vira P81Q
1111-2222. 9 se tiver o *?di&o do pa=sU Fi*a ai(da mais bo(ito, veEa s?! de 228111112222, vo*G tem
b22 P81Q 1111-2222.
1. *ublic (oid $ormatarPQ W
2. "" C resultado ser /011-2861.
/. Stri(& tele$o(e X 7ele$o(e.for'atarP]/0112861]QY
,. "" C resultado ser P81Q /011-2861.
2. tele$o(e X 7ele$o(e.for'atarP]81/0112861]QY
6. "" C resultado ser b22 P81Q /011-2861.
8. tele$o(e X 7ele$o(e.for'atarP]2281/0112861]QY
.. Z
9Aemplos de $ormatao de tele$o(e.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 18
Tutorial do Alfred
/. Inutilit8rio
C +l$red tamb5m 5 um pou*o de Kdes*ulturaL. Vamos perturbar um pou*oU 9(to, use al&u(s dos
i(utilitrios do +l$red. Servem para muito pou*o, mas so e(&raados e i(teressa(tes. 'or e(Fua(to,
temos ape(as o -iDuce;tCr, idealizado pelo +ur5lio Verde.
Vo*G Fuer KtraduzirL um teAto em portu&uGs para o idioma -i&uAoU +, (o sabe o Fue 5 issoU Sorte
sua\ -as vo*G provavelme(te E *o(versou *om um mi&uAo (a i(ter(et, seEa por -S4, Doo&le 7alM,
7#itter ou F?ru(s. Cs mi&uAos esto por todas as partes. Vai me dizer Fue (u(*a viu um teAto es*rito
assim! U +)Fred 9 1 3ibl;ot9*a> :b...... m7U 3om -sm......
1aso E te(a visto, e(to vo*G sabe o Fue 5 um teAto mi&uAo. 9(to, vamos l. _ue tal mi&uAar um
teAto, s? de sa*a(a&emU !Q Use i&ual ao *?di&o abaiAo. Vo*G tem trGs (=veis de mi&uAGs!
+r*ai*o Pda 5po*a do ;1_Q d 4=vel 1Y
-oder(o Pdo -S4Q d 4=vel 2Y
4eo--i&uAGs PCrMut e *oisas a$i(sQ d 4=vel /.
1. *ublic (oid mi&uAarPQ W
2. Stri(& mi&uAada X -i&uAeitor.'ig(+arP]vo*G 5 muito li(do, me(i(o\ _ue $o$ura\ 9stou meio triste. -as estou melor\], /QY
/. Z
-i&uAa(do um teAto.
9 ate(o, lembre-se! todos os *r5ditos so para o +ur5lio Verde. +*esse o s=tio dele ou v direto
para o -i&uAeitor verso ori&i(al!
ttp!""###.aurelio.(et"
ttp!""###.*oisi(a.*om.br"mi&uAeitor"
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 1.
Tutorial do Alfred
0. Utilit8rio
1e&amos a uma das melores partes do +l$red, em mi(a umilde opi(io. +t5 mesmo porFue
$ormatadores e *o(versores tem muitos por a=, mas os utilitrios Fue o +l$red dispo(ibiliza so pou*os
Fue *o(se&uem ter\ Vamos ver um a um.
0.1. Banco
Vo*G *o(e*e todos os ba(*os Fue atuam (o 3rasilU 4oU 3om, eu tamb5m (o sei. 9u pre$iro bus*ar
isto (a i(ter(et, *omo (o s=tio da Febraba(. 9 se sua apli*ao pre*isasse obter esta lista de ba(*os
para eAibir em uma listaU Vo*G pode usar o +l$red para isto.
:ispo(ibilizamos um utilitrio Fue usa o s=tio da Febraba( para obter esta lista de ba(*os. + partir
da=, vo*G pode &ravar em um ba(*o de dados, por eAemplo. )embre-se, a lista 5 obtida do s=tio da
Febraba(, por isto, vo*G (e*essitar de uma *o(eAo *om a i(ter(et.
1. *ublic (oid obter3a(*osPQ W
2. 1olle*tio(I3a(*oJ ba(*os X Febraba(.obterListaBancosP7ipo.T!D!", Cri&em.T!D!", 4aturalidade.T!D!"QY
/. Z
Cbter lista de todos os ba(*os *adastrados (a Febraba(.
4o Fuer todos os ba(*osU 9(to, vo*G tamb5m pode $iltrar. 9ste utilitrio re*ebe trGs parBmetros!
7ipo, Cri&em e 4aturalidade. C 7ipo pode ser 7odos, -@ltiplo, 1omer*ial, 1aiAa, ;(vestime(to,
)easi(& e Fi(a(*eira. + ori&em pode ser 7odos, 'rivado e '@bli*o. Fi(aliza(do, a 4aturalidade pode
ser 7odos, 4a*io(al, 4a*io(al *om 'arti*ipao 9stra(&eira, 4a*io(al *om 1o(trole 9stra(&eiro,
9stra(&eiro, 9stadual e Federal.
Vo*G ter sempre uma *oleo de obEetos do tipo 3a(*o. 9 o Fue este obEeto temU VeEamos!
1. 1?di&o do 3a(*oY
2. 4ome do 3a(*oY
$. S=tio (a i(ter(et do 3a(*oY
%. _ua(tidade de +&G(*ias.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 10
Tutorial do Alfred
0.2. Bean
1om este utilitrio vo*G pode ma(ipular obEetos Fue adotam o padro Java3ea(s. 'or eAemplo, e se
vo*G Fuiser obter todos os atributos do obEeto Fue esto eApostos atrav5s de m5todos get e *olo*ar
em um Ma-U Faa i&ual ao eAemplo abaiAo.
1. *ublic (oid tratar3ea(sPQ W
2. -apIStri(&,CbEe*tJ retor(o X 'ropriedades.transfor'arE'Ma-PumCbEeto_ualFuer, 1lasse7este.claQY
/. Z
Cbter um -ap *om os valores dos atributos de um obEeto.
C Fue tem (o obEeto 1lasse7esteU [ simplesme(te um Java3ea(.
01. *ublic cla 1lasse7este W
02. *ri(ate Stri(& *ampo1Y
0/. *ri(ate Stri(& *ampo2Y
0,.
02. *ublic 1lasse7estePStri(& *1, Stri(& *2Q W
06. t"i.*ampo1 X *1Y
08. t"i.*ampo2 X *2Y
0.. Z
00.
10. *ublic Stri(& &et1ampo1PQ W
11. return *ampo1Y
12. Z
1/.
1,. *ublic (oid set1ampo1PStri(& *ampo1Q W
12. t"i.*ampo1 X *ampo1Y
16. Z
18.
1.. *ublic Stri(& &et1ampo2PQ W
10. return *ampo2Y
20. Z
21.
22. *ublic (oid set1ampo2PStri(& *ampo2Q W
2/. t"i.*ampo2 X *ampo2Y
2,. Z
22.
26. Z
CbEeto 1lasse7este.
+, vo*G Fuer o *o(trrio. 7em um Ma- e &ostaria de *opiar os valores dele para um obEeto. 'or
eAemplo, vo*G tem um Ma- *om uma *ave *amada Kno'e. e seu obEeto tem um m5todo
setNo'e/"tring no'e0. Usa(do o m5todo *o($orme o eAemplo abaiAo, vo*G *opia o valor *o(tido
(esta *ave, para o obEeto.
1. *ublic (oid tratar3ea(sPQ W
2. Map<String,Object> map = new HashMap<String, Object>();
3. map.put("campo","!");
". map.put("campo#","!#");
$. %&asse'este c = new %&asse'este("a","a");
(. )roprie*a*es.copiar)roprie*a*es(map, c);
+. ,
1opiar os valores de um -ap para um CbEeto.
_uer uma ma(eira $*il de obter uma propriedade de um obEeto mas (o sabe o tipo do obEetoU
9(to, use o +l$red i&ual ao eAemplo abaiAo.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 20
Tutorial do Alfred
1. *ublic (oid tratar3ea(sPQ W
2. Stri(& valor X 'ropriedades.obter1alorPro-riedadeP]*ampo1], umCbEeto_ualFuerQY
/. Z
Cbter o valor de uma propriedade do obEeto.
0.$. Bul8rio
9 a=U Vo*G 5 ipo*o(dr=a*oU Dosta de rem5diosU C +l$red vai aEudar vo*G a piorar\ _uer $azer uma
apli*ao Fue *o(t5m i($orma<es da bula de um rem5dioU 9(to, use o utilitrio de 3ulrio. C
+l$red dispo(ibiliza um utilitrio Fue obt5m a bula de um rem5dio atrav5s do s=tio
ttp!""###.bulario.(et". Vo*G ter uma "tring *om todo o teAto da bula. Use *o($orme o eAemplo
abaiAo.
1. *ublic (oid obter3ulaPQ W
2. Stri(& dor$leA X 3ularioC(li(e.obterP]dor$leA]QY
/. Z
Cbter a bula do rem5dio :or$leA.
0.%. Cli&a
9st pre*isa(do eAibir i($orma<es do *lima de sua re&io em seu sistemaU Vo*G pode obter isto
atrav5s de diversos s=tios (a i(ter(et. 7em o Neater e o 1limatempo, por eAemplo. C +l$red d uma
$or*i(a pra vo*G. :ispo(ibilizamos o utilitrio Fue obt5m os dados do s=tio da 1limatempo. 3asta
usar i&ual ao eAemplo abaiAo.
1. *ublic (oid obter1limaPQ W
2. %o&&ection<%&ima> c&imas = %&imatempo.obter%&ima("-..");
3. ,
Cbter o 1lima de uma 1idade.
Vo*G ter uma *oleo *o(te(do o *lima dos *i(*o pr?Aimos dias para a *idade de *?di&o .00. 9 Fue
*?di&o 5 esseU + parte *ata 5 Fue vo*G ter Fue obter esta i($ormao ai(da (o s=tio da
1limatempo.
0.'. Cole9e
9is um utilitrio para le aEudar *om *ole<es. 1omo assimU 3om, vamos usar eAemplos. ;ma&i(e Fue
vo*G Fueira remover um item de uma *oleo. Vo*G (ormalme(te usaria uma estrutura for para
per*orrer toda a *oleo e um if para ide(ti$i*ar o item Fue deseEa remover, *ama(do o m5todo
re'ove da *oleo. 1ertoU Um pou*o *ato, (oU
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 21
Tutorial do Alfred
1. *ublic (oid removerPQ W
2. 1lasse3ea( a X ne5 1lasse3ea(P]+]QY
/. 1lasse3ea( b X ne5 1lasse3ea(P]3]QY
,. 1lasse3ea( * X ne5 1lasse3ea(P]1]QY
2. 1olle*tio(I1lasse3ea(J *ole*ao X ne5 +rra%)istI1lasse3ea(JPQY
6. *ole*ao.addPaQY *ole*ao.addPbQY *ole*ao.addP*QY
8. *ole*ao X 1ole*oes.re'overIte'P*ole*ao, ]*ampo], ]+]QY
.. Z
Semover um ;tem de um *oleo.
C +l$red est a= para te(tar dar uma aliviada em ta(to *?di&o. Vo*G pode passar para o utilitrio de
*ole<es, *ama(do o m5todo re'overIte', trGs parBmetros. C primeiro 5 a *oleo Fue *o(t5m os
ite(s. C se&u(do, uma "tring *om o (ome do atributo do obEeto Fue vo*G deseEa *omparar. C @ltimo
parBmetro 5 o obEeto em si. VeEa o eAemplo abaiAo. 9le vai remover da *oleo o item Fue tiver o
m5todo getNo'e retor(a(do Marlon. 9(te(deuU Vo*G tamb5m pode orde(ar listas *om o +l$red.
1. *ublic (oid orde(arPQ W
2. 1lasse3ea( a X ne5 1lasse3ea(P]+]QY
/. 1lasse3ea( b X ne5 1lasse3ea(P]3]QY
,. 1lasse3ea( * X ne5 1lasse3ea(P]1]QY
2. )istI1lasse3ea(J *ole*ao X ne5 +rra%)istI1lasse3ea(JPQY
6. *ole*ao.addP*QY *ole*ao.addPaQY *ole*ao.addPbQY
8. *ole*ao X 1ole*oes.ordenarP*ole*ao, ]*ampo]QY
.. Z
Crde(ar )istas.
0... Correio
C utilitrio de 1orreios est a= para le aEudar *om i($orma<es sobre SedeA, SedeA >oEe, SedeA 10,
'+1, 19' e Sastreame(to de 9(*ome(das. _uer saber o prazo e o valor de e(tre&a de uma
e(*ome(da de um 19' para outro atrav5s do SedeAU 9(to, veEa o eAemplo abaiAo.
1. *ublic (oid obterSedeAPQ W
2. "" 'rimeiro parBmetro 5 o 19' de Cri&em, o se&u(do o 19' de :esti(o. C ter*eiro 5 o peso da e(*ome(da.
/. Stri(&ef r X SedeA.obterPrecoPra2oEntregaP],02002.0], ],02002.0], 1QY
,. Z
Cbter valor e prazo de e(tre&a por SedeA.
9 se $or SedeA 10 ou SedeA >oEeU -uda muito pou*o, *omo vo*G pode ver lo&o abaiAo.
1. *ublic (oid obterSedeA10>oEePQ W
2. "" 'rimeiro parBmetro 5 o 19' de Cri&em, o se&u(do o 19' de :esti(o. C ter*eiro 5 o peso da e(*ome(da.
/. Stri(&ef r X SedeA10.obterPrecoPra2oEntregaP],02002.0], ],02002.0], 1QY
,. r X SedeA>oEe.obterPrecoPra2oEntregaP],02002.0], ],02002.0], 1QY
2. Z
Cbter valor e prazo de e(tre&a por SedeA 10.
9 se $or '+1U 3om, a= muda um pou*o, pois '+1 tem suas parti*ularidades. -as (o 5 (ada demais. C
primeiro parBmetro 5 o 19' de ori&em. C se&u(do, o 19' de desti(o. C ter*eiro parBmetro diz
respeito ao peso da e(*ome(da. C Fuarto 5 a lar&ura do pa*ote, o Fui(to a altura e o seAo parBmetro
o *omprime(to do pa*ote"*aiAa.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 22
Tutorial do Alfred
1. *ublic (oid obter'+1PQ W
#. String/0 r = )!%.obter)reco)ra1o2ntrega)ara%ai3a)acote("".#4.#-.", "".#4.#-.", , #, (, ();
3. ,
Cbter valor e prazo de e(tre&a por '+1.
7em um 19' e Fuer saber o e(dereoU ;sto 5 *omum em muitas apli*a<es e o +l$red pode le aEudar.
7emos duas $ormas de obter estes dados. Um pelo s=tio do 19' )ivre. 1o(tudo, as i($orma<es deles
(o esto 100g atualizadas. Cutra $orma, 5 atrav5s do s=tio dos pr?prios 1orreios. 4este, vo*G tem a
i($ormao *erta, atualizad=ssima. C mais importa(te 5 Fue, mais uma vez, vo*G tem Fue lembrar de
eAe*utar o +l$red em uma mFui(a *om a*esso V i(ter(et.
1. *ublic (oid obter9(dere*oPQ W
2. "" 'rimeiro pelo 19' )ivre.
/. Stri(&ef e(dere*o X 19'.cons(ltarEnderecoCEPLivreP],02002.0]QY
,. Z
Cbter um 9(dereo pelo 19' )ivre.
'elo 19' )ivre vo*G ter um Array de "trings *o(te(do seis posi<es. +s i($orma<es de *ada posio,
em seFuG(*ia, so! 7ipo de )o&radouro, )o&radouro, 3airro, 1idade, Si&la do 9stado, 9stado.
1. *ublic (oid obter9(dere*oPQ W
2. "" +&ora pelos 1orreios.
/. Stri(&ef e(dere*o X 19'.cons(ltarEnderecoCorreiosP],02002.0]QY
,. Z
Cbter um 9(dereo pelos 1orreios.
'elos 1orreios vo*G ter um Array de "trings *om Fuatro posi<es. + primeira 5 o pr?prio 19', a
se&u(da 5 o tipo de lo&radouro *o(*ate(ado ao lo&radouro, a ter*eira posio 5 o bairro e Fuarta a
*idade *o(*ate(ada ao estado.
1. *ublic (oid obterSastreame(toPQ W
2. 1olle*tio(ISe&istroSastreame(toJ *olSe&istoSastreame(to X Sastreame(to.rastrearP]SJ/880/26,/3S]QY
/. Z
Cbter os :ados de Sastreame(to.
4o eAemplo a*ima, vo*G est $aze(do o tra*Mi(&, ou *omo *amamos aFui, o rastreame(to de um
obEeto e(viado pelos 1orreios. Vo*G ter uma *oleo de obEetos egistroastrea'ento, Fue le
$or(e*e as i($orma<es :ata e >ora da Situao, )o*al, +o e :etale.
0./. CP2 e CNP3
1'F e 14'J, al5m de terem $ormatadores e validadores, tamb5m tem utilitrios (o +l$red. 9 Fual a
di$ere(aU 'ou*a, mas sutil. 9m ambos os *asos, vo*G ter um &erador de 1'F ou 14'J e tamb5m um
&erador de d=&ito veri$i*ador. VeEa *omo usar.
1. *ublic (oid testarPQ W
2. "" Vamos &erar um 1'F aleat?rio e vlidoU
/. Stri(& *p$ X 1'F.gerarPQY
,. "" Vamos obter um d=&ito veri$i*ador para um 1'FU 'ara 14'J 5 i&ual, basta usar o utilitrio 14'J (o lu&ar\
2. Stri(& di&ito X 1'F.gerarDigito1erificadorP]111111111]QY
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 2/
Tutorial do Alfred
6. Z
:=&ito Veri$i*ador e Derao de 1'F e 14'J.
0.0. CI4
Vo*G sabe o Fue 5 1;:U Si&(i$i*a 1lassi$i*ao ;(ter(a*io(al de :oe(as. -uitas empresas pedem o
(@mero do 1;: a(otado (o atestado m5di*o. 9 se vo*G pre*isar saber Fual a doe(a a partir de um
*?di&o 1;: Fue le $oi passadoU C +l$red pode aEudar. -as, tem um peFueeee(o detale. C arFuivo
Fue *o(t5m os *?di&os 5 simplesme(te e(orme e $i*aria i(vivel de baiA-lo pela i(ter(et toda vez
Fue vo*G $izesse uma pesFuisa. 9(to, vo*G ter Fue obter o arFuivo e pass-lo *omo parBmetro para
Fue o +l$red o *o(sulte\ VeEa um eAemplo!
1. *ublic (oid testarPQ W
2. 1olle*tio(I-apIStri(&,CbEe*tJJ lista X 1;:10.obterPne5 FileP]*id.Aml]Q, ]11.]QY
6. Z
Cbter dados de uma doe(a pelo seu 1;:.
Vo*G ter *omo retor(o uma *oleo de -apIStri(&,CbEe*tJ. 1ada -ap ter uma Stri(& Fue
represe(ta o (ome do *ampo e um CbEe*t Fue represe(ta o valor. 4o eAemplo a*ima, vo*G ter um
-ap Fue *o(t5m K(omeL X K4eoplasia mali&(a do *?lo(L. _uer saber todos os valores poss=veisU VeEa
essa p&i(a! ttp!""###.datasus.&ov.br"*id10"v200."*id10.tm
0.:. 4ata
Usa(do ape(as Java (o 5 di$=*il $azer *l*ulos *om data. -as, ai(da assim, vo*G pre*isar de um
pou*o de *?di&o para ati(&ir seu obEetivo. C +l$red pode dar uma $a*ilitada (isto, (o a*aU +trav5s
do utilitrio de 1al*ulo:ata vo*G pode somar ou subtrair dias de uma data. Somar"subtrair meses ou
a(os tamb5m. 9 Fue tal *al*ular a di$ere(a em dias e(tre duas datasU 9 isto tudo usa(do ape(as
uma li(a de *?di&o. 3em mais $*il.
01. *ublic (oid *al*ularPQ W
02. "" Vamos somar al&u(s dias a uma dataU
0/. :ate data X ne5 :atePQY
0,. :ate data2 X ne5 :atePQY
02. :ate somado1 X 1al*ulo:ata.so'arDiasPdata, 10QY
06. :ate subtraido1 X 1al*ulo:ata.s(btrairDiasPdata, 10QY
08. :ate somado2 X 1al*ulo:ata.so'arAnosPdata, 1QY
0.. :ate subtraido2 X 1al*ulo:ata.s(btrairAnosPdata, 1QY
00.
10. "" Vamos *al*ular a Fua(tidade de dias Fue eAiste e(tre duas datasU
11. int valor X 1al*ulo:ata.calc(larDiferencaDiasPdata, data2QY
12. Z
1l*ulos *om :ata.
Vamos a u(s eAemplos um pouFui(o mais di$=*eis. Supo(a Fue vo*G tem dois per=odos e &ostaria de
saber se um est *ompree(dido em outro. 7ipo assim, vo*G vai viaEar de 12 de a&osto a 12 de
setembro. += mar*am duas reu(i<es (o dia 0 de setembro e 10 de setembro. Vo*G Fuer saber se
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 2,
Tutorial do Alfred
poder estar prese(te para as reu(i<es. F*il, $az assim!
01. *ublic (oid *al*ularPQ W
02. :ate data1 X :ata.for'atarP]12"0."2010], ]dd"--"%%%%]QY
0/. :ate data2 X :ata.for'atarP]12"00"2010], ]dd"--"%%%%]QY
0,. :ate data/ X :ata.for'atarP]00"00"2010], ]dd"--"%%%%]QY
02. :ate data, X :ata.for'atarP]10"00"2010], ]dd"--"%%%%]QY
06.
08. :ateef periodo1 X Wdata1, data2ZY
0.. :ateef periodo2 X Wdata/, data,ZY
00.
10. 1al*ulo:ata.calc(larCo'-reensaoPperiodo1, periodo2QY
11. Z
Veri$i*ar se um per=odo est *ompree(dido em outro.
4este eAemplo, se o retor(o $or -1, e(to -eriodo3 *o(t5m o -er4odo5. 1aso seEa 1, o -er4odo5
*o(t5m o per=odo 1. Vamos a um eAemplo mais di$=*il. Vo*G a&ora Fuer saber a i(terseo e(tre dois
per=odos\ Se vo*G passa um per=odo de 12 de a&osto a 12 de setembro *omo primeiro parBmetro e
*omo se&u(do parBmetro passa o per=odo de 0 de setembro a 0 de outubro, vo*G ter *omo retor(o o
per=odo de 0 de setembro a 12 de setembro. 9(te(deuU 9ste 5 o per=odo Fue $az parte dos dois
passados *omo parBmetro\
01. *ublic (oid *al*ularPQ W
02. :ate data1 X :ata.for'atarP]12"0."2010], ]dd"--"%%%%]QY
0/. :ate data2 X :ata.for'atarP]12"00"2010], ]dd"--"%%%%]QY
0,. :ate data/ X :ata.for'atarP]00"00"2010], ]dd"--"%%%%]QY
02. :ate data, X :ata.for'atarP]00"10"2010], ]dd"--"%%%%]QY
06.
08. :ateef periodo1 X Wdata1, data2ZY
0.. :ateef periodo2 X Wdata/, data,ZY
00.
10. 1al*ulo:ata.calc(larIntersecaoPperiodo1, periodo2QY
11. Z
Veri$i*ar a i(terseo e(tre dois per=odos.
0.1;. 4icion8rio
_uer ter o si&(i$i*ado de palavras em seu sistemaU Vo*G pode usar o utilitrio -i*aelis para isto.
1omo o (ome E diz, ele usar o s=tio da -i*aelis para obter este si&(i$i*ado. )embre-se\ ;(ter(et 5
(e*essria mais uma vez.
1. *ublic (oid obterPQ W
2. "" C si&(i$i*ado da palavra bo(ito\
/. Stri(& resultado X -i*aelis.obter"ignificadoP]bo(ito], faleQY
,. Z
Utilitrio de :i*io(rios.
C parBmetro false i(di*a se vo*G Fuer o resultado vi(do *om a $ormatao >7-) do pr?prio s=tio da
-i*aelis, ou se pre$ere Fue ve(a ape(as o teAto.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 22
Tutorial do Alfred
0.11. 4<=ito 1erificador
:=&itos veri$i*adores so usados em muitos lu&ares. Sua *o(ta *orre(te (o ba(*o tem um d=&ito
veri$i*ador. Seu 1'F tamb5m tem. Um 14'J tem. 9 vo*G sabia Fue eAistem re&ras de $ormao destes
d=&itosU Cs mais *omu(s so o -?dulo 10 e o -?dulo 11.
1. *ublic (oid obterPQ W
2. Stri(& resultado X -odulo10.obterD1P]1111111]QY
/. Stri(& resultado X -odulo11.obterD1P]111111]QY
,. Z
Cbter o d=&ito veri$i*ador.
Vo*G tem o utilitrio -odulo10 e -odulo11. +mbos podem se *omportar de $orma di$ere(te a
depe(der dos parBmetros. C eAemplo a*ima 5 o modo mais $*il. -as vo*G pode Fuerer *ompli*ar um
pou*o mais. 'or eAemplo, (o 3a(*o do 3rasil, tem a&G(*ias Fue so do tipo ,..1-c. VeEa, o d=&ito
veri$i*ar virou um KcL. [ porFue Fua(do o valor do d=&ito 5 K10L, e(to 5 tra(s$ormado para c.
9Aistem outras op<es e para des*obri-las, su&erimos ler (osso Java:o*\
1. *ublic (oid obterPQ W
2. Stri(& resultado X -odulo10.obterD1P]1111111], trueQY
/. Stri(& resultado X -odulo11.obterD1P]111111]QY
,. Z
Cbter o d=&ito veri$i*ador tro*a(do 10 por KcL.
0.12. 2<ica
Dosta de F=si*aU Sabe eAatame(te todas aFuelas $?rmulas de *i(emti*aU 4oU\ 4em eu\ !' -as
resolvemos *riar um utilitrio de F=si*a (o +l$red. 9 o Fue ele temU 4o mome(to, ape(as um utilitrio
*om *l*ulos *omu(s em 1i(emti*a. C (osso obEetivo 5 termos muitos outros utilitrios em F=si*a,
mas eles vo sur&ir aos pou*os. +lis, Fuer aEudar a *ri-losU +*eitamos aEuda\
Vamos a al&u(s eAemplos de utilizao, pois so muitos *l*ulos Fue dispo(ibilizamos e $i*aria muito
eAte(so *olo*ar aFui. +o i(v5s disto, su&erimos $orteme(te Fue vo*G a*esse (osso Java:o* para saber
eAatame(te Fuais e *omo usar *ada *l*ulo de 1i(emti*a. 'or eAemplo, temos *l*ulos de
-ovime(to 1ir*ular U(i$orme, -ovime(to 1ir*ular U(i$orme e Variado, -ovime(to 'arab?li*o,
-ovime(to Set=li(o U(i$orme e -ovime(to Setil=(io U(i$orme e Variado. -uitos, (oU
1ada um *itado a*ima re$rere-se a um pa*ote. 'or eAemplo, para os *l*ulos de -ovime(to 1ir*ular
U(i$orme, temos um pa*ote
org.alfredlibrary.(tilitarios.fisica.cine'atica.'ovi'entocirc(lar(nifor'e. 9 l vo*G ter as *lasses
respo(sveis pelos *l*ulos, *omo! +*elera*ao1e(tripeta, FreFue(*ia, 'eriodo, Saio, Velo*idade
+(&ular e Velo*idade9s*alar. 1ada *lasse *o(t5m m5todos respo(sveis em $azer o *l*ulo. Vamos a
al&u(s eAemplos.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 26
Tutorial do Alfred
1. *ublic (oid obterPQ W
2. :ouble resultado X +*elera*ao1e(tripeta.calc(larP2, 2QY
/. :ouble resultado X 'eriodo.calc(larP2,2QY
,. Z
1l*ulos de 1i(emti*a.
4o primeiro, *al*ulamos a a*elerao *e(tr=peda. 'assamos *omo primeiro valor o raio e (o se&u(do
valor, a velo*idade es*alar. 4o se&u(do eAemplo *al*ulamos o per=odo, passa(do *omo parBmetros a
velo*idade es*alar e o raio, respe*tivame(te.
0.1$. >or?co*o
+, vo*G 5 um *ara supersti*ioso e &osta de ver seu or?s*opo todas as ma(s. 9st i(teressado,
i(*lusive, em $azer uma apli*ao Fue obt5m seu or?s*opo e mostra em seu blo&. -as, *omo $azer
issoU C +l$red pode dar uma $or*i(a tamb5m. :ispo(ibilizamos dois utilitrios para isto. Um usa o
s=tio 9strela Duia para *atar estas i($orma<es. C outro usa o 'ortal 7erra. VeEam os eAemplos.
1. *ublic (oid obterPQ W
2. "" Vo*G 5 de +FurioU 9(to, veEa seu si&(o assim\
/. Stri(& resultado X 'ortal7erra.obterPSi&(o.A#$AI!QY
,. "" Vamos ver o Fue o s=tio 9strela Duia diz sobre seu si&(o tamb5m.
2. resultado X 9strelaDuia.obterPSi&(o.A#$AI!QY
6. Z
Cbter si&(os.
0.1%. Idio&a
9 o Fue vo*G a*a de um utilitrio para obter a traduo de palavras de um idioma para outroU 1aso
te(a &ostado da ideia, saiba Fue o +l$red $az isto usa(do re(omados s=tios (a i(ter(et. C primeiro 5
o 3abel$is. C se&u(do o $amoso Doo&le 7ra(slate. C uso 5 basta(te simples, (os dois *asos.
1. *ublic (oid obterPQ W
2. "" 'rimeiro pelo Doo&le 7ra(slate.
/. Stri(& resultado X Doo&le7ra(slate.trad(2irP]o melor], ;dioma.P!T$G$E"E, ;dioma.ENGLI"&QY
,. "" +&ora pelo 3abel$is.
2. resultado X 3abel$is.trad(2irP3abel$is.INGLE"*PAA*P!T$G$E", ]love]QY
6. Z
7raduo usa(do Doo&le 7ra(slate e 3abel$is.
-as vo*G (o Fuer realme(te saber a traduo, mas Fueria ouvir a pro(@(*ia da palavra em i(&lGsU
3om, e(to vo*G est *om sorte. C +l$red tamb5m tem este utilitrio e se *ama 'ro(u(*ia Fue
obt5m um arFuivo (o $ormato #ave P.#avQ atrav5s do s=tio da -erria( Nebster e dispo(ibiliza para
vo*G $azer o Fue Fuiser *om ele! &uardar em dis*o, ouvir, &uardar em ba(*o de dados, et*.
1. *ublic (oid obterPQ W
2. "" 'rimeiro, vamos ouvir direto\
/. 'ro(u(*ia.o(virPron(nciaP'ro(u(*ia.INGLE", ]love]QY
,. "" +&ora vamos obtG-la\
2. ;(putStream is X 'ro(u(*ia.obterPron(nciaP'ro(u(*ia.INGLE", ]love]QY
6. Z
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 28
Tutorial do Alfred
Cbter e ouvir a pro(@(*ia de uma palavra em ;(&lGs.
'or e(Fua(to, temos ape(as as pro(@(*ias de palavras em i(&lGs\
0.1'. Incri6o Etadual
Vamos supor Fue vo*G tem um (@mero de i(s*rio estadual e Fueira saber se o d=&ito veri$i*ador
dele est *orreto. Cu at5 mesmo &erar uma i(s*rio estadual aleat?ria\
1. *ublic (oid obterPQ W
2. ;(s*ri*ao9stadual.gerarDigito1erificadorP'adrao;(s*ri*ao9stadual.ACE, ]01,08,2/]QY
/. ;(s*ri*ao9stadual.gerarP'adrao;(s*ri*ao9stadual.ACEQY
,. Z
Derar :=&ito veri$i*ador.
0.1.. Loteria
+, e(te(di. Vo*G 5 um *ara Fue a*redita muito (a sorte. Sempre $az seus Eo&os (as loterias da 1aiAa
9*o(^mi*a Federal. 9st pe(sa(do, i(*lusive, em $azer um a*ompa(ame(to dos sorteios, *om
estat=sti*as de (@meros sorteados e *oisas do tipo, (o 5U -as, e *omo obter estes (@merosU Vo*G
pode ir (o s=tio da 1aiAa 9*o(^mi*a Federal e obter *ada *o(*urso. Cu $azer um apli*ativo Fue lG os
dados e i(terpreta pra vo*G. Cu deiAar Fue o +l$red $aa isso para vo*G.
01. *ublic (oid obter)oteriasPQ W
02. "" Sesultado do *o(*urso (@mero 1 da me&ase(a.
0/. Stri(&ef resultado X )oterias.obteres(ltadoMega"enaP]1]QY
0,.
02. "" Sesultado do *o(*urso (@mero 1 da loto$*il.
06. resultado X )oterias.obteres(ltadoLotofacilP]1]QY
08.
0.. "" Sesultado do *o(*urso (@mero 1 da dupla se(a.
00. resultado X )oterias.obteres(ltadoD(-la"enaP]1]QY
10.
11. "" Sesultado do *o(*urso (@mero 1 da lotoma(ia.
12. resultado X )oterias.obteres(ltadoLoto'aniaP]1]QY
1/.
1,. "" Sesultado do *o(*urso (@mero 1 da Fui(a.
12. resultado X )oterias.obteres(ltado#(inaP]1]QY
16. Z
Cbter resultado de loterias.
Vo*G tem dispo(=vel (o +l$red um utilitrio Fue le dar os (@meros sorteados para o *o(*urso Fue
vo*G Fuiser da -e&ase(a, )oto$*il, )otoma(ia, _ui(a e :upla Se(a.
0.1/. !ate&8tica
Vo*G *ursou 1iG(*ias da 1omputaoU 9(to, *ertame(te, teve uma mat5ria *amada hl&ebra de
)e(ar, ops, di&o! hl&ebra )i(ear. )embra daFueles *l*ulos trilou*os *om -atrizesU 7ra(sposta,
-atriz ;de(tidade, -ultipli*ao de -atrizes, :etermi(a(tes...
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 2.
Tutorial do Alfred
01. *ublic (oid estudarPQ W
02. "" _uer a tra(spostaU
0/. :oubleefef matriz X ne5 :oubleefef W W1d,1dZ, W2d,2dZ, W/d,/dZ ZY
0,. :oubleefef tra(sposta X -atriz.trans-orPmatrizQY
02.
06. "" 9 o determi(a(teU
08. :ouble d X -atriz.deter'inantePne5 :oubleefef WW1d,1d,1dZ, W0d,,d,/dZ, W2d,2d,1dZZQY
0..
00. "" 9 subtrairU
10. :oubleefef sub X -atriz.s(btrairPne5 :oubleefef WW1d,1dZ, W1d,1dZZ, ne5 :oubleefef WW1d,1dZ,W1d,1dZZQY
11. Z
Utilitrio de -atriz.
3om, o +l$red te(ta $a*ilitar um pou*o sua vida *aso (e*essite trabalar *om -atrizes. 4o utilitrio
de -atrizes E damos para vo*G as se&ui(tes op<es!
1al*ular o :etermi(a(te de uma -atrizY
7ra(sposta de uma -atrizY
Somar e subtrair duas matrizesY
-ultipli*ar duas matrizes ou uma matriz por um (@mero realY
Cbter a oposta de uma -atrizY
Veri$i*ar se uma matriz passada por parBmetro 5!
:ia&o(alY
;de(tidadeY
;&ual a outra matrizY
_uadradaY
Sim5tri*a.
7amb5m podemos $azer *l*ulos *om 9Fua<es de Se&u(do Drau (o +l$red. 9las so $*eis, 5
verdade. -as podem ser mais $*eis ai(da *om o +l$red. VeEa a= embaiAo um eAemplo. )embre-se Fue
(estes *l*ulos, 5 pre*iso veri$i*ar se a eFuao 5 realme(te de se&u(do &rau ou se tem ra=zes
irra*io(ais. 9 este utilitrio E *e*a isto tudo pra vo*G.
01. *ublic (oid estudarPQ W
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a 20
Tutorial do Alfred
02. 9Fua*aoSe&u(doDrau.resolverSa*io(al P/, ,, 2QY
0/. Z
1l*ulo de 9Fua<es de Se&u(do Drau.
0.10. !<dia
Sabe o utilitrio de 'ro(@(*ia, (o pa*ote de ;diomasU Vo*G obt5m a pro(@(*ia em um arFuivo (o
$ormate #ave e &ostaria de eAe*ut-lo, para ouvir (o seu pr?prio *omputador. 9 Fual o *?di&o para
$azer isto mesmoU 3om, o +l$red aEuda *om o utilitrio de hudio, Fue le d um @(i*o m5todo
*amado e+ec(tar.
1. *ublic (oid es*utarPQ W
2. "" Vamos es*utar uma m@si*aU
/. Stri(& user:ir X S%stem.getPro-ertyP]user.dir]QY
,. ;(putStream is X ne5 File;(putStreamPuser:ir b ]"sr*"test"Eava"or&"al$redlibrar%"test"utilitarios"midia"love.#av]QY
2. +udio;(putStream ais X +udioS%stem.getA(dioIn-(t"trea'PisQY
6. +udio.e+ec(tarPaisQY
8. Z
Utilitrio de -=dia.
0.1:. !@ica
_uer ter letras de m@si*as em sua apli*aoU Cu ape(as obtG-las para &uardar em ba(*o de dadosU
9(to, use o +l$red para obter as letras de suas m@si*as $avoritas atrav5s do s=tio Va&alume. +
utilizao 5 bem simples.
1. *ublic (oid obterPQ W
2. "" Vamos obter a letra de uma m@si*a de Saulzito\
/. Stri(& letra X )etras.obterP]Saul SeiAas], ]Curo de 7olo]QY
,. Z
Utilitrio de )etras de -@si*as.
0.2;. Net
+Fui temos um @(i*o apli*ativo. -as bem @til. +lis, este utilitrio 5 usado por Fuase todo o +l$red
i(ter(ame(te. 9stou $ala(do o utilitrio NorldNideNeb Fue dispo(ibiliza m5todos para vo*G obter o
*o(te@do de s=tios (a i(ter(et.
1. *ublic (oid obterPQ W
2. Stri(& *o(teudo X NorldNideNeb.obterConte(do"iteP]ttp!""al$redlibrar%.&oo&le*ode.*om"], ]U7F-.]QY
/. Z
Cbter *o(te@do de sites pelo utilitrio NorldNideNeb.
Cbserve o se&u(do parBmetro, ele diz Fual a *odi$i*ao usada para obter o *o(te@do do s=tio. ;sto 5
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a /0
Tutorial do Alfred
importa(te, pri(*ipalme(te para s=tios Fue *o(t5m palavras a*e(tuadas diretame(te (o *?di&o $o(te.
0.21. PIS7PASEP
J apre(demos a $ormatar, mas e se Fuisermos &erar ';S"'+S9' aleatoriame(teU Cu e(to &erar o
d=&ito veri$i*adorU 'odemos $azer isto usa(do o utilitrio de ';S"'+S9'.
1. *ublic (oid &erarPQ W
2. Stri(& moeda1 X ';S'+S9'.gerarDigito1erificadorP]1111111111]QY
/. Stri(& moeda2 X ';S'+S9'.gerarPQY
,. Z
9Aemplo do utilitrio de ';S"'+S9'.
0.22. TeAto
Vo*G est pre*isa(do aEustar al&umas *oisas em um teAtoU 'or eAemplo, pre*isa *apitalizar as i(i*iais
do teAtoU Cu &ostaria de saber Fua(tas palavras o teAto possuiU 9(to, use o utilitrio de 7eAto do
+l$red.
1. *ublic (oid mudarPQ W
2. Stri(& *o(teudo X 7eAto.*apitalizar;(i*iaisP]marlo( silva *arvalo]QY
/. Z
1apitalizar ;(i*iais de um 7eAto.
C resultado da eApresso a*ima ser -arlo( Silva 1arvalo. +&ora vo*G Fuer tirar os *ara*teres
a*e(tuados de seu teAto. :i&amos Fue vo*G (o &osta de a*e(tos (o portu&uGs\ !Q
1. *ublic (oid mudarPQ W
2. Stri(& *o(teudo X 7eAto.tro*ar1ara*teres+*e(tuadosP]eu (o *urto a*e(tuao.]QY
/. Z
Utilitrio de 7eAto. 7irar a*e(tos.
1omo vo*G pode esperar, o resultado ser Keu (ao *urto a*e(tua*aoL. -as vo*G &osta de a*e(tuao
e s? Fueria era tirar todas as letras e ma(ter ape(as os (@meros de um teAto.
1. *ublic (oid mudarPQ W
2. Stri(& *o(teudo X 7eAto.ma(ter4umerosP]m1a2r/l,o2(6]QY
/. Z
-a(ter ape(as (@meros (o teAto.
7emos *omo resultado, e(to! K12/,26L. 1aso vo*G pre*isa i(*luir uma determi(ada Fua(tidade de
um *ara*ter (o i(=*io ou (o $i(al de uma Stri(&, e(to use o K*ompletarL.
1. *ublic (oid mudarPQ W
2. Stri(& *o(teudo X 7eAto.*ompletarP]poAa], RaR, ., trueQY
/. Z
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a /1
Tutorial do Alfred
+*res*e(tar um *ara*ter ao $i(al do teAto.
C resultado da eApresso a*ima 5 KpoAaaaaaL. _ua(do i($ormamos o (@mero ., Fueremos dizer Fue
a Stri(& KpoAaL, deve ser a*res*e(tada do *ara*ter RaR at5 al*a(ar o tama(o .. +&ora, vamos supor
Fue vo*G odeia $rases po(tuadas. 9stra(o, mas poss=vel. 9(to, vamos remover todos os po(tos de
uma determi(ada $rase assim!
1. *ublic (oid mudarPQ W
2. Stri(& *o(teudo X 7eAto.remover'o(tua*aoP]Uma $rase\ 9 tem po(tos. 9 *omo, (o 5U VeEa s?! eles vo sumir.]QY
/. Z
Semover todas as po(tua<es de um teAto.
Sua $rase vai $i*ar li(da! KUma $rase 9 tem po(tos 9 *omo (o 5 VeEa s? eles vo sumirL. Vo*G Fuer
*omprar dois teAtos para verem se so i&uaisU +\ += (o, o .eFualsPQ E $az isso, (o 5U [, (?s
sabemos. -as vamos supor Fue vo*G Fueira *omparar se&ui(do al&umas re&ras, *omo! i&(orar
mai@s*ulas e mi(@s*ulas, i&(orar os espaos em bra(*o, i&(orar a a*e(tuao e i&(orar po(tuao\
1. *ublic (oid mudarPQ W
2. Stri(& *o(teudo X 7eAto.*ompararP]7eAto1.;&ualU SerU 4Bo sei\],]7eAto1.;&ualU SerU 4Bo sei\], trueB trueB trueB trueQY
/. Z
1omparar duas Stri(&s.
Vamos l. C ter*eiro parBmetro vai dizer se 5 case sensitive, o Fuarto Fuer dizer se deve i&(orar
espaos, o Fui(to se i&(ora a*e(tuao e o @ltimo, se i&(ora po(tuao. 4o (osso eAemplo, est
i&(ora(do tudo.
0.2$. >T!L
Vo*G tem um teAto Fue *o(t5m ta&s >7-)U 9(to, este utilitrio 5 para vo*G. 1om ele vo*G pode
$azer al&umas bri(*adeiras le&ais. 'or eAemplo, Fuer e(*o(trar todos os li(MsU
1. *ublic (oid e(*o(trarPQ W
2. Stri(& *o(teudo X >7-).a*ar)i(MsP]Ia re$XRttp!""###.al$redlibrar%.or&"RJ###.al$redlibrar%.or&I"aJ]QY
/. Z
Utilitrio de >7-). 9(*o(trar )i(Ms.
9 o resultado ser um +rra% de Stri(&s *om uma posio, *o(te(do o li(M
ttp!""###.al$redlibrar%.or&". Cbserve, o padro para e(*o(trar li(Ms espera Fue te(a o ttp!"" (a
$re(te. +&ora Fue vo*G obteve os li(Ms, Fuer 5 remover todas as ta&s do teAto, ma(te(do ape(as o
teAto.
1. *ublic (oid removerPQ W
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a /2
Tutorial do Alfred
2. Stri(& *o(teudo X >7-).remover7a&sP]Ia re$XRttp!""###.al$redlibrar%.or&"RJ###.al$redlibrar%.or&I"aJ]QY
/. Z
Utilitrio de >7-). Semover li(Ms.
+&ora teremos ape(as uma "tring *o(te(do o teAto ###.al$redlibrar%.or&. 7emos outros m5todos
(este utilitrio, d uma oladi(a em (osso Java:o*\
0.2%. TrCnito
Vo*G *o(e*e todas as i($ra<es de trB(sito Fue eAistem (o 3rasilU 4oU 4em eu !Q. -as se vo*G tem
i(te(o de *riar uma apli*ao baseada (estas i($orma<esU 9(to, o +l$red pode le aEudar
basta(te. +trav5s do utilitrio ;($ra<es, vo*G pode obter uma *oleo de obEetos ;($rao, Fue
*o(t5m as se&ui(tes i($orma<es!
1?di&o da ;($raoY
:es*rioY
+mparo )e&alY
_uem 5 o i($rator P1o(dutor, :o(o do Ve=*ulo, et*QY
'o(tos des*o(tados (a *arteiraY
Valor da i($raoY
Dravidade da ;($rao.
1. *ublic (oid obter;($ra*oesPQ W
2. 1olle*tio(I;($ra*aoJ i($ra*oes X ;($ra*oes.obterInfracoesPQY
/. Z
Cbter lista de i($ra<es.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a //
Tutorial do Alfred
:. 1alidadore
C +l$red dispo(ibiliza validadores Fue le auAiliam (a validao simples de dados de e(trada de seus
usurios. Cs validadores dispo(=veis so! 19', 14'J, 1'F, 9-mail e 4@meros. + validao, em todos os
*asos, 5 basta(te simples. Vo*G e(*o(tra os validadores (o pa*ote org.alfredlibrary.validadores.
:.1. CNP3
_uer saber se um 14'J est *orretoU 7amb5m eAiste um validador para isto. -as, ate(o, ele vai
ape(as dizer se o 14'J 5 vlido, mas (o se realme(te eAiste uma empresa *om este 14'J.
1. *ublic (oid validarPQ W
2. 14'J.isValidoP]00000000101]QY
/. Z
Validao de 14'J.
:.2. CP2
Se&ui(do (a mesma li(a do validador de 14'J, temos o validador de 1'F. C uso 5 similar. VeEa
abaiAo.
1. *ublic (oid validarPQ W
2. 1'F.isValidoP]11111111111]QY
/. Z
Validao de 1'F.
:.$. 4i(ero
7 bom. Vo*G (o &ostou dos validadores Fue a= esto e &ostaria de validar s? usa(do sua eApresso
re&ular. +i(da assim podemos dar uma $or*i(a. Vo*G pode passar sua Stri(& *o(te(do sua eApresso
re&ular, ou usar al&umas E $or(e*idas.
1. *ublic (oid validarPQ W
2. :iversos.isValidoP]12"12"2010], :iversos.DATA"IMPLE"QY
/. :iversos.isValidoP]2], :iversos.DECIMALQY
,. :iversos.isValidoP]ima&em.Ep&], :iversos.IMAGEMQY
2. :iversos.isValidoP]10!12], :iversos.&!AQY
6. :iversos.isValidoP],0.200-2.0], ]idW2Zi.idW/Z-idW/Z]QY
8. Z
Validao usa(do 9Apress<es Se&ulares.
:.%. Incri6o Etadual
+&ora vamos validar uma i(s*rio estadual. -as, lembre-se, *ada estado tem seu $ormato espe*=$i*o
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a /,
Tutorial do Alfred
de i(s*rio estadual. -as o +l$red $a*ilita pra vo*G\
1. *ublic (oid validarPQ W
2. ;(s*ri*ao9stadual.is1alidoP'adrao;(s*ri*ao9stadual.ACE, ]01.,0.8,2/-0]Q
/. Z
Validar i(s*rio estadual.
:.'. ED&ail
C usurio di&itou um e-mail e vo*G Fuer saber se pelo me(os o e-mail est $ormatado *orretame(teU
4o d para dizer Fue o e-mail eAiste de $ato, mas E d uma $ora saber Fue 5 vlido\
1. *ublic (oid validarPQ W
2. 9mail.isValidoP]testejteste.*om.br]QY
/. Z
Validao de 9-mail.
:... N@&ero
+Fui temos vrias valida<es de (@meros. 'odemos veri$i*ar se um (@mero 5, de $ato, um ;(te&er,
)o(&, :ouble, Float ou Sort. VeEamos um eAemplo.
1. *ublic (oid validarPQ W
2. 4umero.isSortP]2]QY
/. 4umero.is:oubleP]2]QY
,. 4umero.isFloatP]2]QY
2. 4umero.is;(te&erP]2]QY
6. 4umero.is)o(&P]2]QY
8. Z
Validao de 4@meros.
:./. PIS7PASEP
CM\ J $ormatamos e E &eramos ';S"'+S9'. S? $altou a&ora validar, *ertoU 9, obviame(te, o +l$red
tamb5m aEuda aFui\
1. *ublic (oid validarPQ W
2. ';S'+S9'.is1alidoP]1111111111,]QY
/. Z
Validar ';S"'+S9'.
Biblioteca Alfred
ttp!""###.al$redlibrar%.or&"
'&i(a /2

Você também pode gostar