Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

116
Vistas
El método de URL de Java no se llena correctamente con recursividad
import java.util.Scanner; import java.net.MalformedURLException; import java.net.URL; import java.io.IOException; public class Main { // takes user input and validates public static URL URLPrompt() throws MalformedURLException { URL pageLocation = null; Scanner in = new Scanner(System.in); System.out.println("Please enter a webpage URL to find all it's links: "); try { pageLocation = new URL(in.nextLine()); } catch (MalformedURLException exception) { System.out.println("Invalid URL"); URLPrompt(); } return pageLocation; } public static void main(String[] args) throws MalformedURLException, IOException { Scanner in = new Scanner(System.in); URL pageLocation = URLPrompt(); Scanner scan = new Scanner(pageLocation.openStream()); while (scan.hasNext()) { String webFile = scan.nextLine(); // Searches for all hyperlinks in <a href=> </a> form if (webFile.contains("<a href=") && webFile.contains("</a>")) { int x = webFile.indexOf("<a href="); int y = webFile.indexOf("</a>"); String link = webFile.substring(x, y + 4); System.out.printf("%s\n", link); } } scan.close(); in.close(); } }

Por lo tanto, se supone que este programa debe tomar un enlace URL ingresado por el usuario e imprimir todos los hipervínculos en formato html, "a href" a la etiqueta de cierre "a". Este código hace exactamente eso si la URL es válida inicialmente. Sin embargo, si se ingresa una URL no válida, el sistema la detecta y el método Urlprompt se llama a sí mismo, cuando el método se llama a sí mismo después de una entrada no válida y luego se ingresa una URL válida durante la recursión, aparece una excepción de puntero nulo en la línea 24... ¿Cómo puedo Obtengo el método URLPrompt para llenar con precisión la variable pageLocation durante la recursión?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La llamada recursiva debe return URLPrompt() .

Por cierto: no usaría la recursividad para este propósito (es solo un desperdicio de marcos de pila), solo un ciclo while simple.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda