Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java URL方法未正确填充递归 import java.util.Scanner; 导入java.net.MalformedURLException; 导入java.net.URL; 导入java.io.IOException; 公共班机{ //接受用户输入并验证 公共静态URL URLPrompt()引发错误的OrformDurLexException{ URL pageLocation=null; 扫描仪输入=新扫描仪(系统输入); System.out.println(“请输入网页URL以查找其所有链接:”); 试一试{ pageLocation=新URL(在.nextLine()中); }捕获(畸形异常异常){ System.out.println(“无效URL”); URLPrompt(); } 返回页面位置; } publicstaticvoidmain(字符串[]args)引发畸形的DurLexException、IOException{ 扫描仪输入=新扫描仪(系统输入); URL pageLocation=URLPrompt(); 扫描仪扫描=新扫描仪(pageLocation.openStream()); while(scan.hasNext()){ 字符串webFile=scan.nextLine(); //搜索表单中的所有超链接 if(webFile.contains(“_Java_Recursion_Nullpointerexception - Fatal编程技术网

Java URL方法未正确填充递归 import java.util.Scanner; 导入java.net.MalformedURLException; 导入java.net.URL; 导入java.io.IOException; 公共班机{ //接受用户输入并验证 公共静态URL URLPrompt()引发错误的OrformDurLexException{ URL pageLocation=null; 扫描仪输入=新扫描仪(系统输入); System.out.println(“请输入网页URL以查找其所有链接:”); 试一试{ pageLocation=新URL(在.nextLine()中); }捕获(畸形异常异常){ System.out.println(“无效URL”); URLPrompt(); } 返回页面位置; } publicstaticvoidmain(字符串[]args)引发畸形的DurLexException、IOException{ 扫描仪输入=新扫描仪(系统输入); URL pageLocation=URLPrompt(); 扫描仪扫描=新扫描仪(pageLocation.openStream()); while(scan.hasNext()){ 字符串webFile=scan.nextLine(); //搜索表单中的所有超链接 if(webFile.contains(“

Java URL方法未正确填充递归 import java.util.Scanner; 导入java.net.MalformedURLException; 导入java.net.URL; 导入java.io.IOException; 公共班机{ //接受用户输入并验证 公共静态URL URLPrompt()引发错误的OrformDurLexException{ URL pageLocation=null; 扫描仪输入=新扫描仪(系统输入); System.out.println(“请输入网页URL以查找其所有链接:”); 试一试{ pageLocation=新URL(在.nextLine()中); }捕获(畸形异常异常){ System.out.println(“无效URL”); URLPrompt(); } 返回页面位置; } publicstaticvoidmain(字符串[]args)引发畸形的DurLexException、IOException{ 扫描仪输入=新扫描仪(系统输入); URL pageLocation=URLPrompt(); 扫描仪扫描=新扫描仪(pageLocation.openStream()); while(scan.hasNext()){ 字符串webFile=scan.nextLine(); //搜索表单中的所有超链接 if(webFile.contains(“,java,recursion,nullpointerexception,Java,Recursion,Nullpointerexception,递归调用应该是返回URLPrompt()) 顺便说一句:我不会为了这个目的使用递归(这只是浪费堆栈帧),只是一个简单的while循环。Pfft为了这样一个简单的解决方案,我花了好几个小时来努力解决这个问题:p我想我明白了while循环在你提到它之后会变得更有意义……我对java相当陌生。 import java.util.Scanner; import java.net.MalformedURLException; import java.net.URL; import java.io.IOEx

递归调用应该是
返回URLPrompt()


顺便说一句:我不会为了这个目的使用递归(这只是浪费堆栈帧),只是一个简单的while循环。

Pfft为了这样一个简单的解决方案,我花了好几个小时来努力解决这个问题:p我想我明白了while循环在你提到它之后会变得更有意义……我对java相当陌生。
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();

    }
}