You are on page 1of 5

Entrando Datos Por El Teclado En Modo Consola (II) I.

Crear, correr y estudiar el programa EntraDatos3 EntraDatos3 //EntraDatos3 import ja a.lang.!tring"u##er$ import ja a.io.I%E&ception$ pu'lic class EntraDatos3 ( // )ee datos del teclado pu'lic static oid main (!tring*+ args) ( int noMoreInput , -.$ c/ar enter0ey1it , 23n2$ int InputC/ar$ !tring"u##er Input"u##er , ne4 !tring"u##er(35)$ !ystem.out.println(6Entre una pala'ra76)$ try ( InputC/ar , !ystem.in.read()$ 4/ile (InputC/ar 8, noMoreInput) ( i# ((c/ar) InputC/ar 8, enter0ey1it) ( Input"u##er.append((c/ar) InputC/ar)$ 9 else ( Input"u##er.set)engt/(Input"u##er.lengt/() -.)$ 'rea:$ 9 InputC/ar , !ystem.in.read()$ 9 9 catc/(I%E&ception I%;) ( !ystem.err.println(I%;)$ 9 !ystem.out.println(6)a pala'ra <ue =d. entro es7 6 > Input"u##er.to!tring())$ 9 9 La instruccin: import java.lang.StringBuffer Importa de la 'i'lioteca de ?a a la clase StringBuffer <ue se utili@a para manejar la data <ue se lee del teclado. La instruccin: import ja a.io.I%E&ception Importa de la 'i'lioteca de ?a a la clase IOException <ue se utili@a para manejar los errores de entrada. StringBuffer InputBuffer = new StringBuffer( !" declara un Aue o o'jeto de la clase StringBuffer, llamado inputBuffer y capa@ de almacenar una cadena de /asta 35 caracteres.

)as instrucciones del proceso try capturan los caracteres <ue se entran por el teclado y los agrega a una cadena (Input"u##er). El ciclo para cuando se oprime la tecla enter. )as instrucciones del proceso cath identi#ican cual<uier error de entrada e imprimen un mensaje. Corra de nue o el programa entrando la siguiente oraciBn7 Esta oracin tiene m#s $e treinta caracteres )os caracteres entrados por el teclado son mCs de treinta, pero el programa los asimila por<ue la clase StringBuffer estC preparada para redimensionar sus o'jetos de ser necesario. II. Crear, correr y estudiar el programa Ae4Met/od Ae4Met/od %% &ew'et(o$ import java.lang.StringBuffer) import java.io.IOException) class &ew'et(o$ %%*aptura $atos entra$os por el tecla$o en mo$o consola + pu,lic static voi$ main( String args-. " + S/stem.out.print( 0Entre una pala,ra: 0 ") String InputString = 1et*onsoleString(") S/stem.out.println( 02$. entro: 0 3 InputString ") S/stem.out.println(0Oprima enter para continuar0") InputString = 1et*onsoleString(") 4 pu,lic static String 1et*onsoleString(" + int no'oreInput = 56) c(ar enter7e/8it = 9:n9) int Input*(ar) StringBuffer InputBuffer = new StringBuffer( ! ") tr/ + Input*(ar = S/stem.in.rea$(") w(ile( Input*(ar ;= no'oreInput " + if( (c(ar" Input*(ar ;= enter7e/8it " + InputBuffer.appen$( (c(ar" Input*(ar ") 4 else + InputBuffer.setLengt((InputBuffer.lengt((" <6") ,rea=) 4 Input*(ar = S/stem.in.rea$(") 4

4 catc(( IOException IO> " + S/stem.err.println( IO> ") 4 return InputBuffer.toString(") 4 %% final $el meto$o 1et*onsoleString 4 %% final $e la clase &ew'et(o$ El programa Ae4Met/od se di ide #undamentalmente en dos partes7 El mDtodo principal y el mDtodo EetConsole!tring, <ue captura los datos entrados por el teclado en modo consola. Esta #orma de codi#icar el programa no solo lo /ace mCs sencillo y legi'le, sino <ue deja creado un mDtodo de captura de datos por el teclado en modo consola <ue es reusa'le. III. Crear, correr y estudiar el programa ?ivi$e&umeros. Di ideAumeros //Di ideAumeros import ja a.lang.!tring"u##er$ import ja a.io.I%E&ception$ pu'lic class Di ideAumeros ( //Di ide dos numeros <ue netran por el teclado en modo consola pu'lic static oid main (!tring*+ args) ( !ystem.out.println(6Programa para di idir dos numeros entre si6)$ !ystem.out.println(6Entre el primer numero7 6)$ !tring Input!tring , EetConsole!tring()$ int PrimerAumero , Integer.parseInt(Input!tring)$ !ystem.out.println(6Entre el segundo numero7 6)$ Input!tring , EetConsole!tring()$ int !egundoAumero , Integer.parseInt(Input!tring)$ try ( int TercerAumero , PrimerAumero/!egundoAumero$ !ystem.out.println(6El primer numero di idido entre el segundo numero es igual a 6 > TercerAumero)$ 9 catc/ (E&ception E) ( !ystem.out.println(6%currio un error6)$ 9 !ystem.out.println(6%prima la tecla enter para continuar6)$ EetConsole!tring()$ 9//#inal del metodo principal pu'lic static !tring EetConsole!tring() ( int noMoreInput , -.$ c/ar enter0ey1it , 23n2$ int InputC/ar$ !tring"u##er Input"u##er , ne4 !tring"u##er( 35 )$

try ( InputC/ar , !ystem.in.read()$ 4/ile( InputC/ar 8, noMoreInput ) ( i#( (c/ar) InputC/ar 8, enter0ey1it ) ( Input"u##er.append( (c/ar) InputC/ar )$ 9 else ( Input"u##er.set)engt/(Input"u##er.lengt/() -.)$ 'rea:$ 9 InputC/ar , !ystem.in.read()$ 9 9 catc/( I%E&ception I%; ) ( !ystem.err.println( I%; )$ 9 return Input"u##er.to!tring()$ 9 // #inal del metodo EetConsole!tring 9//Final de la clase Di ideAumeros Corra ?ivi$e&umeros y pro o<ue un error di idiendo entre cero. Modi#i<ue el programa anterior para <ue ademCs de imprimir el resultado de la di isiBn imprima el resto. Modi#i<ue el programa anterior para <ue pueda di idir #racciones decimales. !ugerencias Sustituya int @rimer&umero = Integer.parseInt(InputString") int Segun$o&umero = Integer.parseInt(InputString") int Aercer&umero = @rimer&umero%Segun$o&umero) $ou,le @rimer&umero = ?ou,le.valueOf(InputString".$ou,leBalue(") $ou,le Segun$o&umero = ?ou,le.valueOf(InputString".$ou,leBalue(") $ou,le Aercer&umero = @rimer&umero%Segun$o&umero)

por

El mCto$o Dou'le. alue%#( s ) convierte una ca$ena en un o,jeto Dou'le / el mCto$o dou'leGalue( ) retorna el valor ($ou,le" $el o,jeto ?ou,le.
byte b = Byte.valueOf(s).byteValue( ) f i l s // convierte de cadena a byte // // // //

dou'le
float int long short

d , Dou'le. alue%#(s).dou'leGalue( )
= = = =

Float.valueOf(s).floatValue( ) Integer.valueOf(s).intValue( ) Long.valueOf(s).longValue( ) Short.valueOf(s).shortValue( )

// con ierte de cadena a do'le


convierte convierte convierte convierte de de de de cadena cadena cadena cadena a a a a

float int long short

(s = ca$ena $e caracteres".

Ejercicios .- Crear un programa <ue con ierta de grados Celsius a Fa/ren/eit. El alor de la temperatura en grados Celsius de'e entrar por el teclado. H- Para determinar si la cantidad de latidos por minutos del cora@Bn de una persona es la normal se procede de la siguiente manera7 Ieste a HH5 la edad en aJos Calcule el KLM del resultado o'tenido en el primer paso. Calcule el NLM del resultado o'tenido en el primer paso. Cual<uier nOmero entre igual o superior al resultado del segundo paso e igual o in#erior al resultado del tercer paso corresponde a una persona saluda'le. Crear un programa <ue capture por el teclado la edad (en aJos) de una persona e imprima un mensaje indicando cual es el limite superior y el limite in#erior de los latidos por minutos <ue corresponde a un estado saluda'le. 3- =n :m// es igual a 5.KH.P mi//. =na mi// es igual a 5.NKNQ nudos. Crear un programa <ue capture por el teclado la elocidad en :m// e imprima la elocidad en nudos. P- Crear un programa <ue entre el largo, anc/o y alto (en metros) de una /a'itaciBn y calcule (e imprima) el Crea de sus paredes. L- Crear un programa <ue capture por el teclado el largo y alto (en metros) de una pared y calcule la cantidad de pie@as de cerCmica (.L & .L cm) necesarias para #orrarla. Tenga en cuenta <ue durante la colocaciBn pueden romperse /asta un .5M de las pie@as y <ue no se enden #racciones de pie@as. (!ugerencia7 calcule el Crea de la pared en centRmetros cuadrados). K- Crear un programa capture por el teclado las /oras tra'ajadas por un empleado y <ue calcule su salario neto mensual. Considere7 Tari#a por /ora SID ..L la /ora El tiempo e&tra se paga a ..L eces la tari#a del regular El mes tiene HH dRas la'ora'les )os ingresos por encima de SID .5,555 se gra an con un .HM de impuestos so're la renta

You might also like