import java.util.Scanner;
public class Hastags
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Please input a message directed towards a user with @, as well as a #hashtag and a URL: ");
String status = input.nextLine();
int hashtag = status.indexOf(" ");
int hashtag2 = status.indexOf("#", hashtag );
System.out.println(status.substring(hashtag2));
}
}
我需要程序在用户输入的字符串中找到#
,@
的第一个实例和以https://
开头的网址,然后将它们打印回给用户。现在它会找到主题标签,但会打印主题标签+后面的字符。
示例:Input = Test #test Test, Output = #test Test
。
答案 0 :(得分:0)
你必须使用
status.substring(startIndex, endIndex);
在你的情况下
status.substring(hashtag2, hashtag);
否则它会在输入的hashtag的索引之后使用整个输入字符串,这不仅仅是#test。
编辑:我刚刚在你的代码中发现了另一个错误,你必须使用
int startOfHashtag = status.indexOf("#");
int endOfHashtag = status.indexOf(" ", startOfHashtag);
String hashtag = status.substring(startOfHashtag, endOfHashtag);
你的方式找到第一个空格,然后从那个位置开始搜索主题标签,我想这不是你想要的。