Estate atento porque en esta reseña vas a hallar la contestación que buscas.
Solución:
Tu código no funciona porque creas un nuevo Scanner
objeto en cada llamada recursiva. De todos modos, no debe usar la recursividad para esto, hágalo de forma iterativa.
versión iterativa
public class Solution
public static void main(String[] args)
Scanner s = new Scanner(System.in);
int count = 1;
while(s.hasNext())
String ns = s.nextLine();
System.out.println(count + " " + ns);
count++;
Versión recursiva
public class Solution
private Scanner s;
public static void main(String[] args)
s = new Scanner(System.in); // initialize only once
check(1);
public static void check(int count)
if(s.hasNext())
String ns = s.nextLine();
System.out.println(count + " " + ns);
check(count + 1);
Cambio
if (s.hasNext() == true)
String ns = s.nextLine();
System.out.println(count + " " + ns);
count++;
System.out.print(count);
check(count);
a:
while (s.hasNext())
String ns = s.nextLine();
System.out.println(count + " " + ns);
count++;
System.out.print(count);
check(count);
while
bucles continúa hasta que los datos existen, donde como if
cheques por una sola vez.
Comentarios y valoraciones
Tienes la opción de añadir valor a nuestra información cooperando tu veteranía en las explicaciones.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)