
|
Salida por pantalla y entrada por tecladoPara los siguientes ejemplos ya tenemos casi todo discutido, excepto que por cuestiones educativas sería interesante que el programa no solo contenga los valores que interactuarán almacenados, sino que también sea posible preguntar al usuario. System.outEl objeto System es parte de la biblioteca de Java y es instanciado o fabricado al iniciar la JVM mucho antes que se comience a ejecutar nuestro programa. Este almacena 3 objetos, son out, in y err. El objeto out es del tipo o clase Printstream que tiene las siguientes propiedades y métodos importantes, no listaremos todos:
Tabla 8: Resumen de métodos importantes para out. System.inEl objeto in que es una propiedad de System es de la clase o tipo InputStream, que también es parte de la biblioteca de Java. Aquí vemos los métodos que nos interesan.
Tabla 9: Resumen de métodos importantes del tipo de objetos in. System.errEste objeto es del mismo tipo que out (Printstream) y tiene las mismas propiedades, en los sistemas operativos derivados de Unix como ser Linux, existe mucho la diferencia entre salida estándar de datos (System.out) y la salida estándar de errores (System.err), por ejemplo al imprimir todos los carteles de errores en un tipo de salida no afectaríamos a los resultados, un ejemplo sería el siguiente: public class SumaSimple3 { public static void main(String[] args) { int a=1; System.err.println("el valor de a="+a); System.out.println(a); a=a+10; System.err.println("ahora sumándole 10 es a="+a); System.out.println(a); } } Si este código lo compilamos al ejecutarlo podemos separar los comentarios de los valores de a. gus@gusgus ~ $ cd ejemplos gus@gusgus ~/ejemplos $ javac SumaSimple3.java gus@gusgus ~/ejemplos $ java SumaSimple3 el valor de a=1 1 ahora sumándole 10 es a=11 11 gus@gusgus ~/ejemplos $ java SumaSimple3 > resultados.txt el valor de a=1 ahora sumándole 10 es a=11 gus@gusgus ~/ejemplos $ java SumaSimple3 2> errores.txt 1 11 gus@gusgus ~/ejemplos $ De esa manera generamos y almacenamos por separado los errores y los resultados. Nota: Es muy buena práctica acostumbrarse a separar los datos de errores a cada flojo de datos err y out, ya que si el flujo fuera un protocolo de comunicación mezclaríamos los datos con los errores. System.exit(int cod);El método estático exit(cod) de la clase System interrumpe la ejecución total del programa y devuelve el control al sistema operativo, es decir la JVM termina por completo liberando los recursos. Un código de salida igual a cero es considerado como una ejecución satisfactoria del programa, un código diferente a este, se considera un error y sirve para que el sistema operativo u otro programa que llame al nuestro sepa de alguna manera que ocurrió. Leer líneas de la entrada estándar.Para leer líneas de la entrada estándar podemos utilizar una combinación de objetos de la biblioteca que nos permitirán simplemente esperar a que el usuario ingrese texto y presione enter, o podemos codificar la lectura secuencial de caracteres uno en uno hasta que se detecte un salto de línea, tengamos en cuenta que java es multiplataforma, y si el sistema operativo no es Linux, es probable que se introduzca más de un caracter para el salto de línea lo cual incrementa la complejidad del problema.
Nota: Queda como ejercicio para el lector ver los métodos y propiedades de la documentación de la api proporcionada por Sun Microsystems (java.sun.com) para las clases BufferedReader, InputStreamReader y Exception. leavecomment |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*Hasta que esta leyenda no desaparezca el libro no ha sido terminado, descarge en pdf:
http://compunauta.com/forums/linux/programacion/java/ebook.html