Java - Ayuda parseInt

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda parseInt

Publicado por Matt (2 intervenciones) el 18/09/2018 05:36:33
Hola he estado haciendo un curso de Java y llegamos al ejercicio que esta mas abajo.
Mi duda es que yo nunca uso bufferedReader, uso mas el Scanner, y en este ejercicio en la siguiente linea no se
que hace esto:

// int numero = Integer.parseInt(br.readLine()); //

Para que sirve el Integer.parseInt(br.readLine()); y como hago para usarlo con Scanner? ya que cuando lo uso en este ejercicio de la siguiente forma me da error:

// int numero = Integer.parseInt(entrada.nextInt()); // ---> obviamente tengo importado el Scanner y entrada es su nombre.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package Conceptos_1;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class EjemploWhileSumaNumeros {
 
    public static void main(String[] args) throws Exception {
 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("¿Quieres sumar números? (s|n)");
        String respuesta = br.readLine();
        int total = 0;
 
        while(respuesta.equals("s")){
 
            System.out.println("Introduce un número.");
            int numero = Integer.parseInt(br.readLine());
            total = total + numero;
 
            System.out.println("¿Quieres seguir sumando números? (s|n)");
            respuesta = br.readLine();
 
        }
 
        System.out.println("Resultado: " + total);
 
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda parseInt

Publicado por kingk (108 intervenciones) el 18/09/2018 07:07:41
Hola, el metodo de la clase Integer: parseInt se encarga de convertir un string en el tipo int y devolver el valor de esta conversion, por eso te salta el error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda parseInt

Publicado por Kabuto (1381 intervenciones) el 18/09/2018 14:36:53
Como indica el compañero.

1
int numero = Integer.parseInt(br.readLine());

En esta linea, br.readLine() devuelve un dato de tipo String.
Como tu lo que necesitas es un numero entero (int), el metodo Integer.parseInt() coge ese String y lo transforma (parsea) en un int.

Ahora bien, si usas el Scanner con esta linea:
1
int numero = Integer.parseInt(entrada.nextInt());

Aquí entrada.nextInt() ya te proporciona un dato de tipo int. No necesitas "parsearlo", por eso, te da error. Porque Integer.parseInt() espera que le propociones un String, pero le estas proporcionando un int.
Así que en realidad puedes eliminar la llamada al método Integer.parseInt().

1
int numero = entrada.nextInt();

Con eso, suficiente. De hecho, entrada.nextInt() ya hace internamente un parseo aunque no lo veamos.

También puedes hacer que el Scanner en lugar de proporcionarte un int, te proporcione un String y haces tu el parseo como con el BufferedReader:

1
int numero = Integer.parseInt(entrada.nextLine());

El resultado es el mismo, ni mejor ni peor..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda parseInt

Publicado por Matt (2 intervenciones) el 18/09/2018 17:07:21
Gracias por tu respuesta me sirvió correctamente el programa! Entendí bien tu explicación de lo que hace el ParseInt
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar