UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA
TEMA 1: JAVA JSP INTRODUCCIN
En este capitulo se continua siguieno el es!ue"a e t#a$a%o &a planteao en el capitulo ante#io#' es eci#: Const#ucci(n e p#og#a"as "e)clano una pagina con *o#"a +t"l & un p#og#a"a e tipo %sp
TEMA ,: JAVA JSP INSTRUCCIONES DE CONTRO- DE PRO.RAMA Inst#ucciones e cont#ol e p#og#a"a pe#"iten alte#a# la secuencia no#"al e e%ecuci(n e un p#og#a"a/ Estas inst#ucciones se i0ien en t#es g#anes catego#1as: 1/2 Inst#ucciones Conicionales !ue en %a0a %sp se i"ple"entan con las inst#ucciones i* & s3itc+/ $4 Inst#ucciones e ciclos con *o# 3+ile o 3+ile En %a0a %sp "uc+as e ellas tienen sus co##esponientes co"ponentes 0isuales' e#i0aos e +t"l/ TEMA 5: JAVA JSP INSTRUCCIONES CONDICIONA-ES Una e las "as poe#osas ca#acte#1sticas e cual!uie# co"putao# es la capacia !ue tiene e to"a# ecisiones/ Es eci# al co"pa#a# os alte#nati0as i*e#entes el co"putao# puee to"a# una ecisi(n $as6nose en la e0aluaci(n !ue +ace e alguna conici(n/ En %a0a %sp algunos e%e"plos e inst#ucciones conicionales: si suelo 7 5888 esplega# #ico si no esplega# po$#e 9in2si si se:o ; <"< i"p#i"e "u%e# si no i"p#i"e +o"$#e 9in2si De los e%e"plos o$se#0a# !ue los ca"inos a segui# po# el co"putao# epene#6n e la e0aluaci(n !ue el co"putao# +ace con & e la conici(n/ Too lengua%e e p#og#a"aci(n co"o %a0a %sp e$e tene# inst#ucciones !ue pe#"itan *o#"a# coniciones e inst#ucciones !ue pueen e0alua# esas coniciones/ Pe#o #eco#a# !ue lengua%es "oe#nos & o#ientaos a clientes2se#0io#es e igual *o#"a tienen co"ponentes !ue pe#"iten el "is"o "oo al usua#io to"a# ecisiones incluso i#ecta"ente en pantalla' es eci# ta"$ien e:isten los o$%etos' cont#oles o co"ponentes e selecci(n & ecisi(n en +t"l/ El *o#"ato gene#al e una inst#ucci(n conicional es:
Co"o se o$se#0a' son cuat#o pa#tes $ien i*e#enciaas ent#e si= -a p#opia inst#ucci(n conicional en si -a conici(n El g#upo cie#to e inst#ucciones El g#upo *also e inst#ucciones Cuano el co"putao# e0al>a una conici(n el #esultao e esa e0aluaci(n solo es e0aluao e os "ane#as o la conici(n es CIERTA o la conici(n es 9A-SA/ Esto epene#6 el 0alo# !ue tenga asignao o !ue se +a&a captu#ao pa#a la 0a#ia$le !ue esta en la conici(n' po# e%e"plo si se captu#o ?888 en suelo en el e%e"plo a4 entonces el co"putao# inica#1a !ue la conici(n es CIERTA pe#o en ot#o caso si a la 0a#ia$le suelo p#i"e#o se le asigno un 0alo# e ,@8 entonces el co"putao# inica#1a !ue la conici(n es 9A-SA/ Aa epenieno el #esultao e la e0aluaci(n' el co"putao# e%ecuta las inst#ucciones contenias en el g#upo e cie#to o *also #especti0a"ente/ En este cu#so e %a0a %sp e"pe)a#e"os el an6lisis po# la CONDICIN/ TEMA B: JAVA JSP CONDICIONES SIMP-ES En gene#al toas las coniciones se *o#"an con: Va#ia$les Ope#ao#es Relaci(nales Constante o Va#ia$les se:o ; " suelo 7 588'888 TEMA @: JAVA JSP OPERADORES RE-ACIONA-ES -os ope#ao#es #elaci(nales !ue #econoce %a0a %sp son: Ope#ao# Signi*icao ;; Igual !ue 7 Ma&o# !ue C Meno# !ue 7; Ma&o# o igual !ue Meno# o igual !ue D; No es igual !ue o es i*e#ente !ue Ta"$ien o$se#0a# & tene# cuiao so$#e too con el ope#ao# e igualaE & el ope#ao# #elacional e co"pa#aci(n po# igualaE; es eci#= suelo ; @88' Se esta piieno ca#ga# o asigna# la 0a#ia$le suelo con el 0alo# @88 suelo ;; @88' Se esta piieno !ue se co"pa#e el 0alo# o ato !ue se encuent#a en la 0a#ia$le suelo' cont#a el nu"e#o @88/ En %a0a %sp solo este ulti"o *o#"ato es 0alio ent#o e una conici(n en una inst#ucci(n conicional/ Pa#a o$%etos e#i0aos e la clase STRIN. se usa#a el "etoo st#1/co"pa#eToEst#,4 !ue #eg#esa ce#o E84 si st#1 es igual st#,' #eg#esa un positi0o si st#1 es "a&o# !ue st#, & #eg#esa un negati0o si st#1 es "eno# !ue st#,/ TEMA ?: JAVA JSP INSTRUCCIN I9 Es la inst#ucci(n conicional "as usaa en los i0e#sos lengua%es e p#og#a"aci(n' su *o#"ato co"pleto & e t#a$a%o en %a0a %sp es: ca#ga# o asigna# la 0a#ia$le e conici(n= i* Econici(n4 F g#upo cie#to e inst#ucciones=G else F g#upo *also e inst#ucciones= G= P#i"us/2 O$se#0a# donde van y donde no van los puntos & co"as= Secunus/2 -a conici(n 0a ent#e pa#Hntesis = Te#tius/2 Si un i* no ocupa un g#upo *also e inst#ucciones entonces no se pone el else' & la lla0e antes el else si te#"ina#1a con punto & co"a/ E%e"plo: P#og, %sp <% // declarando int sueldo=0;String res=""; if(request.getParameter("OK") = null) ! sueldo = "nteger.#arse"nt(request.getParameter("S$%&'O")); if (sueldo (= )000) ! res="*"+O"; , else !res="PO-*%"; ,; ,; // constru.endo forma dinamica out.#rintln("</O*0 1+2"O3=#rog4.5s# 0%26O'=#ost("); out.#rintln("'10% S$%&'O7<"3P$2 28P%=2%92 310%=S$%&'O :alue=";sueldo;"(<-*("); out.#rintln("%<1&$1+"O37<"3P$2 28P%=2%92 310%=*%S :alue=";res;"(<-*("); out.#rintln("<"3P$2 28P%=S$-0"2 310%=OK <1&$%=e:ento= (<-*("); out.#rintln("<//O*0("); %( Pa#a e%ecuta#los su$i#los a tu sitio en p#og#a"aci(n*acil & pei#lo ese a+1 con la i#ecci(n +ttp:IIp#og#a"acion*acil/co"ItusitioIp#ogB/+t"l Co##ia p#og, %sp
Reco#a# !ue es 0alio usa# "as e una inst#ucci(n ent#o el g#upo cie#to o *also el i*/ Reco#a# ae"as !ue pa#a el caso e st#ings usa#: i* E ca##e#a/co"pa#eToEJin*o#"aticaK4 ;; 8 4 TAREAS PROGRAMACION JAVA JSP 1/2 Captu#a# un nu"e#o cuales!uie#a e in*o#"a# si es o no es "a&o# e 188/ ,/2 Captu#a# un nu"e#o ente#o cuales!uie#a e in*o#"a# si es o no es ">ltiplo e B E #eco#a# el ope#ao# "oEL4' anali)ao en el te"a e ope#ao#es a#it"Hticos4/ 5/2 Captu#a# los cinco atos "as i"po#tantes e un E"pleao' inclu&eno el suelo ia#io & los 1as t#a$a%aos esplega#le su c+e!ue se"anal solo si gan( "as e M@88/88 en la se"ana' en caso cont#a#io esplega#le un $ono e espensa se"anal e M1@8/88/ B/2 Captu#a# los atos "as i"po#tantes e un estuiante inclu&eno t#es cali*icaciones const#ui# una $oleta e cali*icaciones en una pagina e #espuesta $ien $onita si el estuiante es e la ca##e#a e "eicina' en caso cont#a#io const#ui# una pagina "as $onita toa0ia !ue espliega un o*icio citano a los pa#es el estuiante a una platica a"istosa con los "aest#os e la escuela/ @/2 Captu#a# los atos "as i"po#tantes e una "e#cancia cuales!uie#a' inclu&eno cantia' p#ecio' etc/ esplega# una o#en e co"p#a' solo si el p#oucto es e o#igen nacional' en caso cont#a#io no +ace# naa/ TEMA N: JAVA JSP CONDICIONES COMPUESTAS En "uc+as ocasiones es necesa#io p#esenta# "as e una conici(n pa#a su e0aluaci(n al co"putao#/ Po# e%e"plo !ue el co"putao# "uest#e la $oleta e un alu"no si este estuia la ca##e#a e "eicina & su p#o"eio e cali*icaciones es "a&o# e N8/ Una condicin com!e"#a "e de$ine como do" o ma" condicione" "im%e" !nida" o& %o" %%amado" oe&ado&e" %'ico"( -os ope#ao#es l(gicos !ue %a0a %sp #econoce son: OPERADOR SI.NI9ICADO OO JAK -O.ICO JOK -O.ICO D JNOK NE.ACION E%e"plo: i* E Esuelo 71884 OO E se:o;;<"<4 4 etc' etc' etc/ A #eco#a# !ue pa#a co"pa#a# st#ings usa#= i* E ca##e#a/co"pa#eToEJin*o#"aticaK4 ;; 8 4 Notas: O$se#0a# !ue caa conici(n si"ple lle0a sus p#opios pa#entesis/ Si la 0a#ia$le es e tipo st#ing el ato 0a ent#e co"illasEK4' pe#o si la 0a#ia$le es e tipo c+a# el ato 0a ent#e apost#o*esE<4/ Pa#a !ue el co"putao# e0al>e co"o CIERTA una conici(n co"puesta !ue contiene el ope#ao# l(gico KOOK' las os coniciones si"ples e$en se# cie#tas/ Pa#a !ue el co"putao# e0al>e co"o CIERTA una conici(n co"puesta !ue contiene el ope#ao# l(gico JPPK' $asta con !ue una e las coniciones si"ples sea cie#ta/ -a cantia total e casos posi$les cuano se unen os o "as coniciones si"ples esta aa po# la #elaci(n one n ; cantia e coniciones' la p#i"e#a "ita e ellos e"pie)a en cie#to & la seguna "ita en *also/ E%e"plo' si *o#"a"os una conici(n co"puesta con os coniciones si"ples & el ope#ao# l(gico J&K' la cantia total e casos posi$les se#ian ' & se puee const#ui# la siguiente ta$la e 0e#a/ Ta)%a de ve&dad con *y+ IRA COND SIMP-E ,DA COND SIMP-E EVA-UACION C C C C 9 9 9 C 9 9 9 9 -a e0aluaci(n *inal' se o$tiene usano la #egla ante#io#"ente esc#ita pa#a una conici(n co"puesta' !ue contiene el ope#ao# JAK/ Esta ta$la signi*ica lo siguiente= 1/2 Cual!uie#a !ue sean la cantia e atos p#ocesaos' sie"p#e cae#6 en uno e estos cuat#o casos gene#ales/ -a ta$la e 0e#a pa#a una conici(n co"puesta con JO#K es la siguiente= IRA COND SIMP-E ,DA COND SIMP-E EVA-UACION C C C C 9 C 9 C C 9 9 9 Const#ui# una ta$la e 0e#a pa#a una conici(n co"puesta e t#es o "as coniciones si"ples' es ta"$iHn ta#ea sencilla' solo #eco#a# !ue= 1/2 -a cantia posi$le e casos es casos posi$les' la "ita e"pie)an con Cie#to & la ot#a "ita e"pie)an con 9also/ ,/2 Pa#a e0alua# esta conici(n t#iple p#i"e#o se e0al>an las os p#i"e#as inclu&eno su ope#ao# $a%o las #eglas &a esc#itas & luego se e0al>a el #esultao pa#cial cont#a la ulti"a conici(n & ulti"o ope#ao# pa#a o$tene# la e0aluaci(n *inal/ E%e"plo una conici(n co"puesta e t#es coniciones si"ples' one el p#i"e# ope#ao# l(gico es el J&K & el seguno ope#ao# l(gico es el JOK' a#1a la siguiente ta$la e 0e#a/ I#a con ,a con E0al 1a , ,a 5#a con E0al e0al O 5#a C C C C C C C C 9 C C 9 9 C C C 9 9 9 9 9 C 9 C C 9 C 9 9 9 9 9 9 C C 9 9 9 9 9 TAREAS PROGRAMACION JAVA JSP 1/2 Const#ui# un p#og#a"a !ue captu#e un nu"e#o cuales!uie#a e in*o#"e si es o no es "a&o# e @8 & ">ltiplo e t#es/ E solo esc#i$i# el "ensa%e e #espuesta e "ane#a "u& cla#a & esto #esuel0e el p#o$le"a 4 ,/2 Const#ui# un p#og#a"a !ue ini!ue si un nu"e#o es un pa# positi0o/ 5/2 Captu#a# los atos e una "e#cancia inclu&eno su cantia en e:istencia' esplega# una o#en e co"p#a si la cantia en e:istencia el p#oucto es "eno# !ue el punto e #eo#en' o si el o#igen el p#oucto es nacional/ B/2 Const#ui# un p#og#a"a !ue captu#e los atos e un e"pleao' esplega# en una pagina su c+e!ue se"anal si gana "as e M@88/88 & si esta en el epa#ta"ento e p#oucci(n' en caso cont#a#io esplega#le en ot#a pagina un $ono e espensa el ,@L e su suelo se"anal/ TEMA Q: JAVA JSP INSTRUCCIN SRITCS Ta"$iHn e:isten ocasiones o p#og#a"as one se e:ige e0alua# "uc+as coniciones a la 0e)' en estos casos o se usa una conici(n co"puesta "u& g#ane o se e$e intenta# con0e#ti# el p#o$le"a a uno !ue se puea #esol0e# usano la inst#ucci(n SRITCS/ Esta inst#ucci(n es una inst#ucci(n e ecisi(n ">ltiple one el co"pilao# p#ue$a o $usca el 0alo# contenio en una 0a#ia$le ENTERA o CSARACTER cont#a una lista e constantes ap#opiaas' es eci# ente#as' c+a#acte#' cuano el co"putao# encuent#a el 0alo# e iguala ent#e 0a#ia$le & constante entonces e%ecuta el g#upo e inst#ucciones asociaos a ic+a constante' si no encuent#a el 0alo# e iguala ent#e 0a#ia$le & constante' entonces e%ecuta un g#upo e inst#ucciones asociaos a un e*ault' aun!ue este ulti"o es opcional/ El *o#"ato e esta inst#ucci(n es el siguiente= captu#a# o asigna# 0a#ia$le e conici(n= s3itc+E0a# OPCION4 F case const1: inst#ucci(nEes4= $#eaT= case const,: inst#ucci(nEes4= $#eaT= case const5: inst#ucci(nEes4= $#eaT= UUUUUU e*ault: inst#ucci(nEes4= G= p#og5 %sp <% // declarando c>ar letra=? ?; if(request.getParameter("OK") = null) ! //recordar que 2%92-O9 contiene una string letra=request.getParameter("&%2*1").c>ar1t(0); s@itc>(letra) !case ?a?7 out.#rintln("aguila "); AreaB; case ?A?7 case ?-?7 out.#rintln("Aaca "); AreaB; case ?c?7 out.#rintln("caAallo "); AreaB; default7 out.#rintln("no >a. "); ,; // oAser:ar que se #uede escriAir direcatmente a la #agina dinamica // esto es #ara los flo5os ,; // constru.endo forma dinamica out.#rintln("</O*0 1+2"O3=#rog).5s# 0%26O'=#ost("); out.#rintln("'10% $31 &%2*17<"3P$2 28P%=2%92 310%=&%2*1 :alue=";letra;"(<-*("); out.#rintln("<"3P$2 28P%=S$-0"2 310%=OK <1&$%=e:ento= (<-*("); out.#rintln("<//O*0("); %( co##ia:
O$se#0a# el caso J$K' o$se#0a# co"o se pueen usa# "as e os case con un solo $#eaT so##& po# lo e VACA pe#o el unico ani"alito !ue "e aco#e *ue el VURRO & luego "is alu"nos se sienten aluios & o*enios/ TAREAS PROGRAMACION JAVA JSP 1/2 Const#ui# un p#og#a"a !ue captu#e un epo#te cuales!uie#a & espliegue os i"ple"entos epo#ti0os ap#opiaos/ ,/2 E0alua# cual!uie# *unci(n 0ista pa#a cuano : ;5'2B' @ TEMA W: CONTRO- SE-ECT JAVA JSP E:isten "uc+as ocasiones en one el usua#io el p#og#a"a tiene !ue p#opo#ciona# atos !ue p#o0ienen e un con%unto *inito & "u& pe!ueXo e posi$les #espuestas esto signi*ica !ue caa 0e) !ue se e%ecute el p#og#a"a el usua#io esta#6 p#opo#cionano las "is"as #espuestas/ E%e"plo e esta clase e atos' son po# e%e"plos Municipio en VC las posi$les #espuestas solo son ETecate' Ti%uana' Me:icali' Ensenaa' Rosa#ito4' ot#o e%e"plo es Se:o ESo"$#e' Mu%e#4' etc/ Pa#a situaciones co"o esta e:isten co"ponentes +t"l !ue pe#"iten p#og#a"a# po# aelantao las posi$les #espuestas & el usua#io solo e$e selecciona# la #espuesta ap#opiaa en luga# e tene# !ue esc#i$i#la/ Este cont#ol SE-ECT nos pe#"ite e*ini# en p#i"e#a instancia un con%unto e atos o 0alo#es #espuestas asociaos a una ca%a e eici(n cuales!uie#a as1 a+o#a el usua#io ten#6 la opo#tunia e selecciona# un ato el con%unto e atos o #espuestas &a p#ee*inio/ Este co"ponente SE-ECT DEVERA CONSTRUIRSE EN os pa#tes una pa#te e enca$e)ao pa#a pone# el no"$#e el g#upo e #espuestasE po# e%e"plo "unicipios' se:o' etc/4 -a seguna pa#te es la lista e opciones o #espuestas !ue se e$e ca#ga# al tie"po e e%ecuci(n e la *o#"a +t"l co"o lo "uest#a el siguiente p#og#a"a: P#ogB/%sp <% // declarando String munici#io=""; if(request.getParameter("OK") = null) ! munici#io =request.getParameter("0$3"+"P"O"); out.#rintln(munici#io;" ="); if (munici#io.com#are2o("%3S%31'1")==0) out.#rintln("2"-"O"); if (munici#io.com#are2o("2"C$131")==0) out.#rintln("6%&1'O"); if (munici#io.com#are2o("0%9"+1&"")==0) out.#rintln("+1&"%32%"); ,; // constru.endo forma dinamica out.#rintln("</O*0 1+2"O3=#rogD.5s# 0%26O'=#ost("); out.#rintln("<-(0$3"+"P"OS</-("); out.#rintln("<S%&%+2 310%=0$3"+"P"O("); out.#rintln("<OP2"O3(%3S%31'1<OP2"O3(2%+12%<OP2"O3(2"C$131<OP2"O3(0%9"+1&""); out.#rintln("</S%&%+2("); out.#rintln("<"3P$2 28P%=S$-0"2 310%=OK <1&$%=e:ento= (<-*("); out.#rintln("<//O*0("); %( CORRIDA:
Notas: 1/2 O$se#0a# !ue el se#0io# e paginas e0ol0io el pa# MUNICIPIO;TIJUANA !ue esta"os captu#ano en nuest#a 0a#ia$le "unicipio/ TAREAS PRO.RAMACION JAVA JSP 1/2 A##egla# un pa# e los p#og#a"as ante#io#es ag#eganole este cont#ol a los !ue se puean/ ,/2 E0alua# la *unci(n pa#a : ; ,'2@' Q 5/2 Const#ui# una *o#"a/+t"l con los atos e un auto"(0ilEusa# pu#os select4 & const#ui# os paginas e salia o #espuesta una con un plan e *inancia"iento a os aXos u ot#a con un plan e *inancia"iento a t#es aXos/ TEMA 18: JAVA JSP CSECYVOZ A EZCEPCIONES El co"ponente C+ecTVo: ' pe#"ite selecciona# una opci(n al usua#io el p#og#a"a o to"a# una ecisi(n i#ecta"ente en pantalla/ E%e"plos e uso:
O$se#0a# !ue os o "as c+ecT$o:s pueen esta# seleccionaos a la 0e)/ Coigo p#og@ %sp <% String mEnEf; %( <% // oAser:ar declaracion . usando las otras directi:as if(request.getParameter("OK") = null) ! m=request.getParameter("0"); n=request.getParameter("3"); f=request.getParameter("/"); tr.! if (m.com#are2o("on")==0) out.#rintln("masculino c>ecado "); ,catc>(5a:a.lang.3ullPointer%Fce#tion e)!,; tr.! if (n.com#are2o("on")==0) out.#rintln("neutro c>ecado "); ,catc>(5a:a.lang.3ullPointer%Fce#tion e)!,; tr.! if (f.com#are2o("on")==0) out.#rintln("femenino c>ecado "); ,catc>(5a:a.lang.3ullPointer%Fce#tion e)!,; ,; // constru.endo forma dinamica out.#rintln(" "); out.#rintln("sexo: "); out.#rintln(" masculino "); out.#rintln(" femenino "); out.#rintln(" neutro "); out.#rintln(" "); out.#rintln(" "); %( Notas: 1/2 g#a$a#lo & su$i#lo co"o p#og@ %sp a tusitio en p#og#a"acion*acil/co" ,/2 -a p#opiea na"e e$e#a se# i*e#ente en caa c+ecT$o: usao' la p#opiea c+ecTe se usa pa#a !ue apa#e)ca &a palo"eao o seleccionao el cont#ol/ 5/2 Cuano se acti0a p#og@ %sp' esta *o#"a "ana el pa# NAME;on solo e los c+ecT$o: !ue *ue#(n seleccionaos/ Co##ia:
Pa#a p#og#a"a# este co"ponente: Co"o &a se inico' esta *o#"a 0a a "ana# el pa# NAME;on asi !ue esto es sencillo en %a0a %sp' solo #eco#a# usa# un i* po# caa c+ecT$o:/ Mu& sencillo el coigo e 0aliaci(n & no ol0ia# su$i#lo a tu sitio/ ERRORES A EZCEPCIONES Estos p#o$le"as e e##o#es & e:cepciones !ue en %a0a' se p#oucen al tie"po e e:ecuci(n el p#og#a"a son los p#o$le"as no#"ales e "al coigo & !ue ta"$ien se p#oucen al tie"po e co"pilaci(n no al tie"po e e%ecucion el p#og#a"a' este te"a se #e*ie#e a ee++#o##es & e:cepciones al tie"po e e%ecuci(n el p#og#a"a/ Ja0a tiene un "ecanis"o "u& co"pleto pa#a el "ane%o e e##o#es & e:cepciones' un ERROR ocu##e gene#al"ente al tie"po e esta#se e%ecutanose un p#og#a"a' po# e%e"plo una i0ision ent#e ce#o/ Una E-CEPCION es c#eaa ta"$ien al tie"po e e%ecuci(n el p#og#a"a cuano en alguna pa#te el p#og#a"a se p#ouce alguna conici(n no conte"plaa en el p#og#a"a pa#a el p#og#a"a e%e"plo el c+ecT$o:' se c#ea#on t#es 0a#ia$les o "e%o# ic+o t#es o$%etos st#ings & cuano e la *o#"a se "ana solo una o os e ellas ca#gaas con JonK algunas e las 0a#ia$les u o$%etos st#ings !uea ca#gaa con nullEcaso especial e st#ings4 & al intenta# +ace# la co"pa#aci(n %a0a a0isa e una e:cepcion co"o se "uest#a en la siguiente pantalla e%e"plo:
Esta e:cepci(n ocu##io al tie"po e e%ecuci(n el p#og#a"a & po# el p#o$le"a &a esc#ito & e:plicao/ -a i*e#encia ent#e una EZCEPCION & un ERROR es !ue una e:cepcion si es at#apaaEcatc+4 po# el p#og#a"a & el p#og#a"ao# pe#"ite #ecupe#a# el p#og#a"a & continua# con su e%ecuci(n' "ient#as !ue un e##o# aun!ue sea at#apaoEcatc+4 po# el p#og#a"a & el p#og#a"ao# el p#og#a"a suspene#a & te#"ina#a su e%ecuci(n/ Si e##o#es o e:cepciones no son at#apaasEcatc+4 el p#og#a"a te#"ina#a su e%ecuci(n & "ana#a el a0iso al usua#io' co"o se e"uest#a en la pantallita e a##i$a/ Es po# esta #a)(n !ue es con0eniente & necesa#io at#apa# Ecatc+4 e##o#es o e:cepciones' asi el p#og#a"ao# po#a inclui# algun "ecanis"o e co##ecci(n e e##o#es o al "enos e a0isa#le al usua#io en luga# e !ue sea el se#0io# !uien le a0ise/ Este "ecanis"o e co##eccion e e##o#es es la clausula o inst#uccion 2r.! "nstrucciones normales de 5a:a; , catc>(ti#o de error o eFce#cion :ar de error)! inst de a:iso o correc de error #uede incluir la :ar de error ; ,; Un t#&2catc+ puee ence##a# una inst#uccion e %a0a' un g#upo e inst#ucciones e %a0a o too el p#og#a"a co"pleto/ En el p#og@ %sp se uso un t#&2catc+ en caa i*' se puo usa# un t#& catc+ con toos los i*<s pe#o no se conoce e ante"ano cuales 0a#ia$les st#ings se !uean en null asi !ue *ue "as con0eniente #e0isa# i* po# i*/ En #esu"en cuano en algun p#og#a"a al tie"po e e%ecuci(n les apa#e)ca un e##o# o e:cepcion 0an a ocupa# usa# t#&2catc+ pa#a at#apa#lo o co##egi#lo' el tipo e e##o# o e:cepcion a cu$#i# se los 0a a esta# inicano el p#opio se#0io# e paginas co"o lo "uest#a la pantallita e%e"plo e e:cepci(n y o)"e&va& .!e %a mi"ma e/cecion .!e aa&ecio en dic0a an#a%%i#a1 "e !"o en %a c%a!"!%a ca#c0( Si apa#ecen "as e##o#es o e:cepciones en un p#og#a"a es 0alio !ue un t#& lle0e "as e un catc+/ TAREAS PROGRAMACION JAVA JSP 1/2 E0alua# la *unci(n pa#a : ; ,'2@' Q Eusa# un C+ecTVo: po# caa 0alo# e :' & p#og#a"a# caa el i* e caa C+ecTVo: con la ope#aci(n co##esponiente & el espliegue el #esultao4/ ,/2 Const#ui# un pagina +t"l con los atos e un auto"(0il & una seguna pagina "uest#a un plan e *inancia"iento a os aXos & una te#ce#a pagina "uest#a un plan e *inancia"iento a t#es aXos/ 5/2 Const#ui# un p#og#a"a e seleccion e "en>s' las opciones se#an algunos e los p#og#a"as &a +ec+os/Ese #eco"iena !ue en caa i* const#u&an la *o#"a o pagina e "ane#a ina"ica e la *o#"a +t"l !ue tienen en el p#og#a"a co##esponiente4 TEMA 11: COMPONENTE RADIOVUTTON JAVA JSP Se utili)a pa#a p#esenta# al usua#io un con%unto e opciones m!#!amen#e e/c%!yen#e" en#&e "i es eci# si el usua#io selecciona un co"ponente #aio toos los e"6s co"ponentes #aioVutton en la *o#"a' se eseleccionan solos es po# esta #a)(n !ue eci"os !ue #aio$otones son "utua"ente e:clu&entes/ Coigo p#og? %sp <% String seFoE carrera; %( <% // es me5or esta declaracion no >a. que inicialiGar if(request.getParameter("OK") = null) ! seFo=request.getParameter("S%9O"); carrera=request.getParameter("+1**%*1"); out.#rintln("carrera=";carrera;"<Ar("); out.#rintln("seFo=";seFo;"<Ar("); ,; // constru.endo forma dinamica out.#rintln("</O*0 1+2"O3=#rogH.5s# 0%26O'=#ost("); out.#rintln("seFo7<Ar("); out.#rintln("<in#ut t.#e=radio name=S%9O :alue=masculino c>ecBed(masculino<Ar("); out.#rintln("<in#ut t.#e=radio name=S%9O :alue=femenino(femenino<Ar("); out.#rintln("<in#ut t.#e=radio name=S%9O :alue=neutro(neutro<Ar("); out.#rintln("carrera7<Ar("); out.#rintln("<in#ut t.#e=radio name=+1**%*1 :alue=sistemas c>ecBed(sistemas<Ar("); out.#rintln("<in#ut t.#e=radio name=+1**%*1 :alue=informatica(informatica<Ar("); out.#rintln("<in#ut t.#e=radio name=+1**%*1 :alue=medicina(medicina<Ar("); out.#rintln("<"3P$2 28P%=S$-0"2 310%=OK <1&$%=e:ento= (<-*("); out.#rintln("<//O*0("); %( 1/2 O$se#0a# !ue tene"os os g#upos e #aio$otones uno con NAME;SEZO & ot#o con NAME;CARRERA sin e"$a#go e:isten 0a#ios #aio$otones & caa #aio$uton tiene su p#opio 0alo# o VA-UE/ ,/2 Reco#a# !ue en c+ecT$o:Ete"a ante#io#4 la p#opiea NAME e$e se# istinta pa#a caa uno e ellos' "ient#as !ue en #aio$utton es la "is"a pa#a too un g#upo si"ila# e ellos/ 5/2 -a #a)(n p#incipal pa#a esta situaci(n es !ue los #aio$otones son "utua"ente e:clu&entes ent#e si A [UE SO-O UNO PUEDE ESTAR ENCENDIDO A -A VE\ po# eso los ag#upa"os con la p#opiea NAME pa#a !ue +t"l los puea consie#a# co"o os o "as g#upos i*e#entes/ B/2 Ta"$ien tienen la p#opiea c+ecTe pa#a !ue apa#e)can seleccionaos al ca#ga# el p#og#a"a p#og? %sp @/2 A i*e#encia el c+ecT$o:' 0#m% va a &e'&e"a& "o%amen#e e% a& NAME2VALUE de e% &adio)!#on .!e e"#e "e%eccionado1 esto lo +ace po# caa g#upo e #aio$otones !ue tenga"os en la *o#"a +t"l R#eco#a# !ue +t"l #eg#esa un & solo un pa# NAME;VA-UE po# caa g#upo e #aio$utton<s !ue e:istan en la *o#"a/+t"l' asi !ue es $astante sencillo to"a# el 0alo# el #aio$uton seleccionao & &a ca#gao este 0alo# #eali)a# o p#og#a"a# el p#oceso co##esponiente/ Co##ia:
TAREAS PROGRAMACION JAVA JSP 1/2 CONSTRUIR UN CUESTIONARIO DE ? PRE.UNTAS SOVRE -OS S]VITOS DE ESTUDIO DE UN ESTUDIANTE A PASAR SUS RESPUESTAS A UNA PA.INA NUEVA/ ,/2 EVA-UAR UNA 9UNCION CUA-ES[UIERA' -A PA.INA STM- TIENE NAME ; Z A VA-UE ; 5' 2@' 18 TEMA 1,: JAVA JSP CIC-O 9OR Inst#ucciones pa#a ciclos #esuel0en el p#o$le"a e #epeti# too el p#og#a"a o cie#ta pa#te el p#og#a"a "as e una 0e)/ Este ciclo es uno e los "as usaos pa#a #epeti# una secuencia e inst#ucciones so$#e too cuano se conoce la cantia e:acta e 0eces !ue se !uie#e !ue se e%ecute una inst#ucci(n si"ple o co"puesta/ Su *o#"ato gene#al es: *o# Einiciali)aci(n= conici(n= inc#e"ento4 F inst#ucci(nEes4= G= En su *o#"a si"ple la iniciali)aci(n es una inst#ucci(n e asignaci(n !ue ca#ga una 0a#ia$le e cont#ol e ciclo con un 0alo# inicial/ -a conici(n es una e:p#esi(n #elacional !ue e0al>a la 0a#ia$le e cont#ol e ciclo cont#a un 0alo# *inal o e pa#aa !ue ete#"ina cuano e$e aca$a# el ciclo/ El inc#e"ento e*ine la "ane#a en !ue la 0a#ia$le e cont#ol e ciclo e$e ca"$ia# caa 0e) !ue el co"putao# #epite un ciclo/ Se e$en sepa#a# esos 5 a#gu"entos con punto & co"a = EJEMP-O Coigo p#ogN %sp & #ecue#en su$i#lo & pei#lo con: +ttp:IIp#og#a"acion*acil/co"ItusitioIp#ogN/%sp <% // mira ma?a sin usar forma for (int F==; F<==0; F;;) ! out.#rintln("F= ";F;"<Ar("); ,; %( El c+iste 0a e la siguiente "ane#a' un niXo paseanose en una $icicleta= Mi#a "a<a sin "anos Mi#a "a<a pa#ao Mi#a "a<a sin ientes co##ia: p#ogN %sp
Casos Pa#ticula#es el ciclo *o#: 1/2 El ciclo co"ien)a en uno & se inc#e"enta e uno en uno este es el caso "as gene#al/ ,/2 Pe#o el 0alo# inicial puee se i*e#ente e uno' e%e"plo= *o#E:;@=: 1@=:;:^14F etc/G= 5/2 Incluso el 0alo# inicial puee se# negati0o' e%e"plo= *o# E: ; 25 =: Q= :;:^14 F etc/G= B/2 -os inc#e"entos ta"$iHn pueen se# i*e#entes al e uno en uno' e%/= *o# E:;1= : ,8= :;:^54F etc/ G= @/2 Incluso pueen se# ec#e"entos' solo !ue en este caso' #eco#a#= @/1/2el 0alo# inicial e la 0a#ia$le e$e se# "a&o# !ue el 0alo# *inal/ @/,/2ca"$ia# el sentio e la conici(n/ e%e"plo= *o# E:; @8 = : 7; 18= :; :2B 4 F etcHte#a G= ?/2 Solo pa#a los casos e inc#e"entos & ec#e"entos e una en una unia su$stitui# en el *o#= el : ; : ^ 1 po# :^^ el : ; : 2 1 po# :_ TAREAS PROGRAMACION JAVA JSP 1/2 CONSTRUIR UN PRO.RAMA [UE DESP-IE.UE -OS N`MEROS DE- ,8 A- 58/ ,/2 DESP-E.AR -OS ENTEROS ENTRE @8 A 58 ACOMPAaADOS DE SU POTENCIA CUADRADA A RAb\ CUVICA RESPECTIVAE#e0isa# el te"a e ope#ao#es a#it"eticos4/ 5/2 DESP-E.AR -OS M`-TIP-OS DE @' ENTRE 18 A @8' ACOMPAaADOS DE SU 9ACTORIA- A -O.ARITMO RESPECTIVOE#e0isa# el te"a e ope#ao#es a#it"eticos ta"$ien4/ B/2 DESP-E.AR -A TAV-A DE MU-TIP-ICAR [UE E- USUARIO INDI[UE/ @/2 EVA-UAR -A 9UNCION C"7 A;@Zc, ^ 5Z ^ QCI"7 CUANDO Z_7 25U18 ERAN.O DE 25 SASTA 184 TEMA 15: JAVA JSP CIC-O RSI-E En este ciclo el cue#po e inst#ucciones se e%ecuta "ient#as una conici(n pe#"ane)ca co"o 0e#ae#a en el "o"ento en !ue la conici(n se con0ie#te en *alsa el ciclo te#"ina/ Su *o#"ato gene#al es : ca#ga# o iniciali)a# 0a#ia$le e conici(n= 3+ileEconici(n4 F g#upo cie#to e inst#ucciones= inst#ucci(nEes4 pa#a sali# el ciclo= G= Un e##o# "u& co"un con el 3+ile' es pone# un punto & co"aE=4 espues e la Econici(n4 e%e"plo 3+ileEconicion43 45e"#o e" y ca!"a !n e&&o&( P#ogQ %sp e%ecuta#lo i#ecta"ente co"o se inico en el te"a ante#io#' e:cepto !ue si !uie#en pueen const#ui# una *o#"a/+t"l & acti0a#lo ese a+1/ <% int F; %( <% F==; @>ile (F<==0) ! out.#rintln("F= ";F;"<Ar("); F;;; ,; %( co##ia p#ogQ %sp
R+ile puee lle0a# os coniciones en este caso iniciali)a# , 0a#ia$les e conici(n & cuia# !ue e:istan , e #o"pi"iento o te#"inaci(n e ciclo/ El g#upo cie#to e inst#ucciones puee se# una sola inst#ucci(n o too un g#upo e inst#ucciones/ -a conici(n puee se# si"ple o co"puesta/ -os casos gene#ales e *o# ta"$ien se aplican a 3+ile/ A este ciclo ta"$iHn se le conoce ta"$iHn co"o ciclo e conici(n e ent#aa o p#ue$a po# a##i$a po#!ue este ciclo e0al>a p#i"e#o la conici(n & poste#io#"ente e%ecuta las inst#ucciones/ TAREAS PROGRAMACION JAVA JSP 1/2 DESP-E.AR ENTEROS ENTRE @8 A Q8 ,/2 DESP-E.AR MU-TIP-OS DE B ENTRE ?8 A ,8 ACOMPAaADOS DE SU -O.ARITMOS DE VASE 18 A VASE e RESPECTIVOS/ 5/2 CONSTRUIR -A TAV-A DE DIVIDIR [UE E- USUARIO INDI[UE/ B/2 E0alua# una *uncion cuales!uie#a pa#a el #ango e 0alo#es e : e 25 a ^@ TEMA 1B: CIC-O DO RSI-E JAVA JSP Su i*e#encia $6sica con el ciclo 3+ile es !ue la p#ue$a e conici(n es +ec+a al *inali)a# el ciclo' es eci# las inst#ucciones se e%ecutan cuano "enos una 0e) po#!ue p#i"e#o e%ecuta las inst#ucciones & al *inal e0al>a la conici(n= Ta"$iHn se le conoce po# esta #a)(n co"o ciclo e conici(n e salia/ Su *o#"ato gene#al es : ca#ga# o iniciali)a# 0a#ia$le e conici(n= o F g#upo cie#to e inst#ucci(nEes4= inst#ucci(nEes4 e #o"pi"iento e ciclo= G 3+ile Econici(n4= p#ogW/%sp & e%ecuta#lo i#ecta"enteE si !uie#en4/ <% int F; %( <% F==; do ! out.#rintln("F= ";F;"<Ar("); F;;; ,@>ile (F<==0); %( Co##ia p#og11/%sp
Ot#a i*e#encia $6sica con el ciclo 3+ile es !ue' aun!ue la conici(n sea *alsa ese un p#incipio el cue#po e inst#ucciones se e%ecuta#a po# lo "enos una 0e)/ Ta&ea" Java J" 1/2 t#es el *o# ,/2 t#es el 3+ile TEMA 1@: JAVA JSP CONC-USIONES ACERCA DE CIC-OS En %a0a Jsp el p#o$le"a e ao un p#o$le"a cuales!uie#a cual ciclo se e$e usa# se #esuel0e con: 1/ Si se conoce la cantia e:acta e 0eces !ue se !uie#e !ue se e%ecute el ciclo o si el p#og#a"a e alguna "ane#a puee calcula#la usa# *o#/ ,/ Si se esconoce la cantia e 0eces a #epeti# el ciclo o se !uie#e "a&o# cont#ol so$#e la salia o te#"inaci(n el "is"o entonces usa# 3+ile/ 5/ Si se !uie#e !ue al "enos una 0e) se e%ecute el ciclo entonces usa# o 3+ile/