要求:
if语句,如果找不到" href"在字符串中它将返回整数,一个if语句在substring方法不会使索引超出边界错误之前返回-1。
显示需要返回字符串中的所有http网站。
我相信我非常接近,这是我的代码:
public class LinkList {
public static void main(String[] args) {
String htmlCode = (a long string with all my url links)
int linkStart = 0;
int endLink = 0;
while (true) {
linkStart = hrefSearch(htmlCode);
if(linkStart == -1) break;
htmlCode = htmlCode.substring(linkStart);
}
}
public static int hrefSearch (String inStr) {
String find = " href=";
String closingBracket = ">";
int index = inStr.indexOf(find);
if (index != -1){
int closing = inStr.indexOf(closingBracket, index);
if (closing != -1){
System.out.println(inStr.substring (index, closing + 1));
}
}
return index;
}}
如何让程序停止循环并显示字符串中的所有网址?
答案 0 :(得分:0)
变化:
htmlCode = htmlCode.substring(linkStart);
为:
htmlCode = htmlCode.substring(linkStart+1);
否则,您将一遍又一遍地查找第一个网址(因为linkStart
是上一个网址开始的位置,因此htmlCode.substring(linkStart)
仍然包含您找到的上一个网址。