注意:我必须为这个程序使用 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());
    }
}