注意:我必须为这个程序使用 StringTokenizer (这是一个分配)
我正在尝试获取此字符串“Java Programming”。说“J@v@~~~Progr@mming”。使用 StringTokenizer。
我对以下代码有2个问题...
- 我的第一个 StringTokenizer 在控制台上显示了我需要的内容,但最后添加了一个不需要的额外“@”。
- 它没有抓住我的字符串标记,因为它是“J@v@ Progr@mming”。应用第二个 StringTokenizer,它会在有空格的地方添加“~~~”。
我错过了什么?我浏览了 Java 的 API 文档,但无法弄清楚。
import java.util.StringTokenizer;
public class StringToken {
private String token;
//Constructor with default text
public StringToken() {
token = "Java Programming.";
}
//Constructor with custom text
public StringToken(String newToken) {
token = newToken;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String encodeTokenA(String newToken){
StringTokenizer st = new StringTokenizer(newToken, "a");
while (st.hasMoreTokens()){
String token = st.nextToken();
System.out.format(token + "@");
}
return token;
}
public String encodeTokenB(String newToken){
StringTokenizer st = new StringTokenizer(newToken, " ");
while (st.hasMoreTokens()){
String token = st.nextToken();
System.out.format(token + "~~~");
}
return token;
}
}
public class TestStringToken {
public static void main(String[] args) {
StringToken test = new StringToken();
test.encodeTokenA(test.getToken());
test.encodeTokenB(test.getToken());
System.out.println(test.getToken());
}
}