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>.
|
|
|