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();
}
}