Universidad de Costa Rica
|
|
Utilice el programa de la tarea programada anterior para contruir otro programa que reciba números de pantalla y los grabe de vuelta, con sus dígitos al derecho y al revés. Por ejemplo, si su programa recibiera de entrada 12345 y 777899, devuelta grabaría esas mismos número, y también 54321 y 998777.
Para esta tarea programada usted debe enviarme estos archivos:
Tp2cin.java
CARNET.docx
En el documento CARNET.docx
deben describir su
experiencia de aprendizaje para completar esta tarea. Explique
qué hizo, cómo lo hizo y por qué lo hizo. En
especial, es importante que mencionen por qué escogieron
las instrucciones que incluyeron y cuáles fueron las
dificultades que enfrentaron.
Recuerde: agregue su algoritmo dentro del bloque marcado
"{ ***
RELLENE CON SU ALGORITMO
*** }
"... ¡No
modifique ninguna otra parte del programa!
int
"
deben tener menos de 10 dígitos. Tu numerotote tiene 41
dígitos, valor que rebasa el tamaño máximo
que es posible almacenar en un "int
":
- 6278436289743285643725694378 - 12345679.12345679.12345679.1 - http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html
long
" tienen una capacidad
más grande que los de tipo "int
", pero siempre
son limitados a un máximo: 9,223,372,036,854,775,807.
int
". Una forma de lograr que el programa funcione con
números ultra-enormes requiere del uso de vectores.
- http://www.google.com/search?num=100&q=site%3Asun.com+java+array
Entregue su tarea por correo electrónico, como lo hizo anteriormente.
/* Tp2cin.java (c) 2009 adolfo@di-mare.com */ /** @(#)Tp2cin.java 2009 Arrevesador de números enteros. @author Adolfo Di Mare <adolfo@di-mare.com> */ import java.io.*; // Clases para leer desde el teclado import java.lang.Character; // isDigit() /** Clase que contiene el programa principal {@code main()}. */ public class Tp2cin { /** Lee un número de {@code CIN}. * Se salta los caracteres no númericos antes del número. */ public static int leeInt( BufferedReader CIN ) { int num = 0; char ch; try { do { // se salta la basura antes del número ch = (char)CIN.read(); } while ( ! Character.isDigit(ch) ); while ( Character.isDigit(ch) ) { num = num*10 + (ch-'0'); ch = (char)CIN.read(); } return num; } catch (IOException e) { return 0; } } /** Programa principal. * OJO: tira la excepción <code>IOException</code> cuando {@code CIN} no funciona. */ public static void main( String args[] ) throws IOException { // CIN es el lector de la consola (teclado) BufferedReader CIN = new BufferedReader( new InputStreamReader(System.in) ); System.out.print( "0 > 0\n" ); // Graba el 0 al derecho y al revés // Ciclo para efectuar todos los cálculos int alVerres, num = leeInt(CIN); // lee el nuevo valor while (num != 0) { // Aquí calcula alVerres { /*******************************\ * * * RELLENE CON SU ALGORITMO * * * \*******************************/ } System.out.print( (alVerres) + " >\n" ); num = leeInt(CIN); // jala el siguiente # } CIN.close(); // Cierra la consola de lectura return; } // main() /** Constructor por defecto. * {@code private} previene que la clase sea instanciada. */ private Tp2cin() { super(); } } // Tp2cin /* EOF: Tp2cin.java */ |
Adolfo Di Mare <adolfo@di-mare.com>.
|