Resultados 1 al 3 de 3

Resolver este ejercicio JAVA

  1. #1 Resolver este ejercicio JAVA 
    Iniciado
    Fecha de ingreso
    Sep 2012
    Mensajes
    1
    Descargas
    0
    Uploads
    0
    Hola amigos, bueno pues tengo que realizar este ejercicio en java, pero me gustaría tener una buena explicación de como resolverlo. El ejercicio es el siguiente :

    Modifique el método main de la clase MyClass, añadiendo las sentencias necesarias para que lea un número entero del teclado y lo muestre en la pantalla.
    Y el codigo que me dan para modificar es este:

    Código:
     1 import java.util.*;
        2 /**
        3  * Ejercicio de Introducción a la Informática
        4  */
        5 public class MyClass {
        6 	/**
        7 	 * Método principal a modificar. Debe leer un número entero y
        8 	 * mostrar en pantalla su valor
        9 	 */
       10 	public static void main(String[] args) {
       11 		Scanner input = new Scanner(System.in);
       12 		System.out.print("Introduce un valor entero: ");
       13 
       14 		System.out.print("Has introducido el valor: ");
       15 
       16 	}
       17 }
    Me podrían explicar como es el proceso y que necesito saber para resolver este tipo de ejercicios ? No quiero la solución en sí, si no más bien una explicación para poder aprender a hacer otros ejercicios similares que se me planteen.

    Muchas gracias!
    Citar  
     

  2. #2  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Hay muchas formas de leer desde el teclado, y más concretamente de la entrada estandar (System.in) de Java.

    En tu caso, parece ser que te lo están pidiendo mediante el uso de la clase Scanner. Lo primero que debes hacer es echarle un vistazo a la documentación oficial de esa clase: Scanner.

    Esa clase implementa todo lo necesario para leer datos de entrada, desde una cadena de texto, un descriptor de fichero, o un flujo de entrada (InputStream). Puedes verlo con detalle simplemente viendo los métodos constructores.

    En tu caso, lees desde System.in, que es la entrada estándar (el teclado).

    Si observas los métodos que tiene dicha clase, para leer cualquier byte, caracter, entero o cadena, tienes los métodos "next".

    En tu ejercicio te piden "leer un número", asi que deberás usar el método "nextInt()":

    Código:
     1 import java.util.*;
        2 /**
        3  * Ejercicio de Introducción a la Informática
        4  */
        5 public class MyClass {
        6 	/**
        7 	 * Método principal a modificar. Debe leer un número entero y
        8 	 * mostrar en pantalla su valor
        9 	 */
       10 	public static void main(String[] args) {
       11 		Scanner input = new Scanner(System.in);
       12 		System.out.print("Introduce un valor entero: ");
       13          int numero = input.nextInt();
       14 		System.out.print("Has introducido el valor: "+numero);
       15 
       16 	}
       17 }
    Otra alternativa, un poco más elaborada, pero más versátil, pues no restringe la lectura únicamente de enteros, sería haciendo uso de nextLine(), en vez de nextInt():

    Código:
    public static void main(String[] args) {
        		Scanner input = new Scanner(System.in);
        		System.out.print("Introduce un valor entero: ");
                    String entrada = input.nextLine();
                    int numero = Integer.parseInt(entrada);
        		System.out.print("Has introducido el valor: "+numero);
    En este caso, lees una cadena de texto, y luego la conviertes a entero. Para este caso, deberás validar la entrada antes de guardarla o trabajar con ella en un futuro, pues podría ser el inicio de un bonito bug o de un fallo de seguridad. Lo recomendado para validar la entrada es utilizar expresiones regulares, y la clase Scanner te da opciones para ello.

    En cuanto a la última línea, puede sustituirse por cualquiera de estas opciones:

    Código:
    System.out.println("Has introducido el valor: "+String.valueOf(numero));
    System.out.println("Has introducido el valor: "+Integer.toString(numero));
    Un saludo.
    Última edición por hystd; 23-09-2012 a las 22:47
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  3. #3  
    Iniciado
    Fecha de ingreso
    Sep 2012
    Mensajes
    9
    Descargas
    0
    Uploads
    0
    Genial la respuesta y muy currada.
    Citar  
     

Temas similares

  1. problema con ejercicio de c++
    Por herc en el foro PROGRAMACION DESKTOP
    Respuestas: 7
    Último mensaje: 22-04-2012, 02:22
  2. ejercicio modula2
    Por Francis en el foro PROGRAMACION DESKTOP
    Respuestas: 0
    Último mensaje: 16-06-2010, 00:56
  3. ejercicio con paginas web
    Por ermp en el foro INTRUSION
    Respuestas: 1
    Último mensaje: 15-04-2009, 02:08
  4. Duda con ejercicio en C
    Por IEEE en el foro PROGRAMACION DESKTOP
    Respuestas: 12
    Último mensaje: 05-05-2008, 03:00
  5. 32 Bit Ip Resolver
    Por Kraven en el foro APLICACIONES
    Respuestas: 0
    Último mensaje: 17-09-2006, 09:56

Marcadores

Marcadores