Java - Ayuda con mi codigo

 
Vista:
sin imagen de perfil

Ayuda con mi codigo

Publicado por Fernando (3 intervenciones) el 09/07/2022 03:37:14
necesito ayuda con mi programa recursivo. Cuando lo compilo se supone que me dejaria preguntar en la linea: System.out.println("Desea registrar un numero entero? si/no");
resp=leer.nextLine();
Se salta la linea y solo me me muestra el resultado.No se que mas pueda hacer.Ayuda por favor.
Este es mi codigo:

import java.util.Scanner;
public class SumaRecursivo {
Scanner leer=new Scanner(System.in);

int n;
String resp="si";
public void sumar(int suma,String resp) {

if(resp.equals("si")){

System.out.print("Ingrese un numero: ");
n=leer.nextInt();
System.out.println("Desea registrar un numero entero? si/no");
resp=leer.nextLine();
suma=suma+n;
System.out.println("La suma sucesiva es: "+suma);
sumar(suma,resp);

}


}

public static void main(String args[]) {
SumaRecursivo obj=new SumaRecursivo();
obj.sumar(0,"si");

}
}

Espero y me puedan ayudar. Gracias por su atención.

2022-07-08-1
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 con mi codigo

Publicado por Juan Manuel (1 intervención) el 09/07/2022 04:03:11
Intenta quitando el "Line" de .nextLine();
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
sin imagen de perfil

Ayuda con mi codigo

Publicado por Fernando (3 intervenciones) el 09/07/2022 04:18:03
es que ese es para mi variable String
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
sin imagen de perfil

Ayuda con mi codigo

Publicado por Fernando (3 intervenciones) el 09/07/2022 04:21:58
pero me podrias decir por favor ¿por que hay que quitar el line?¿no es muy necesario para el string? pero voy a intentar hacerlo
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 con mi codigo

Publicado por Kabuto (1381 intervenciones) el 10/07/2022 23:02:44
Después de leer un número con nextInt(), nextDouble() etc... si después intentamos leer un String con nextLine(), la lectura fallará:

1
2
3
4
System.out.print("Ingrese un numero: ");
n=leer.nextInt();
System.out.println("Desea registrar un numero entero? si/no");
resp=leer.nextLine();


Para evitarlo, lo mejor es leer SIEMPRE con nextLine(). Y si lo que queremos es un número, pues la lectura que hacemos con nextLine(), la parseamos al tipo de dato numérico que necesitemos:

1
2
3
4
System.out.print("Ingrese un numero: ");
n=Integer.parseInt(leer.nextLine()); //Parseamos a Integer la lectura hecha con nextLine()
System.out.println("Desea registrar un numero entero? si/no");
resp=leer.nextLine();
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