我是Java的新手,我对夏季作业有疑问。这些是说明:
编写一个名为SpecialToken的类,它有一个名为thirdToken的静态方法。此
方法应该作为String返回,String是作为参数传递的String的第三个标记。
您可以假设空格将用作分隔符。
这是我到目前为止所得到的,但老实说,我对参数应该是什么以及如何返回第三个令牌感到难过!我以为我可以做像nextToken()这样的事情直到第三次。
public class SpecialToken {
public static String thirdToken() {
}
}
答案 0 :(得分:2)
尝试类似
的内容public class SpecialToken {
public static String thirdToken(String str) {
String[] splited = str.split(" ");
return splited[2];
}
}
另请参阅this tutorial或尝试在Google上搜索“java split string into space by space”
另请注意,正如Betlista所说,这没有任何错误检查,因此如果传递的字符串只有一个空格分隔的两个标记,那么您将获得一个超出范围的数组异常。
或者另一种方法是“使用StringTokenizer来标记字符串。导入java.util.StringTokenizer。然后创建一个StringTokenizer的新实例,其字符串为tokenize,分隔符为参数。如果您不输入作为参数的分隔符,分隔符将自动默认为空格。在拥有StringTokenizer后,您可以使用nextToken()方法获取每个标记。“via Wikihow
使用此方法,您的代码应如下所示:
public class SpecialToken {
public static String thirdToken(String str) {
StringTokenizer tok = new StringTokenizer(str); // If you do not enter the delimiter as a parameter, the delimiter will automatically default to white space
int n = tok.countTokens();
if (n < 3) {return "";}
tok.nextToken();
tok.nextToken();
return tok.nextToken();
}
}
但是请记住Wikihow的警告“现在,不鼓励使用StringTokenizer,并且鼓励在String类中使用split()方法或者使用java.util.regex包。”