Примечание. Я должен использовать StringTokenizer для этой программы (это для задания)
Я пытаюсь получить эту строку «Программирование на Java». чтобы сказать "J@v@~~~Progr@mming." со StringTokenizer.
У меня есть 2 проблемы со следующим кодом...
- Мой первый StringTokenizer отображает то, что мне нужно, на консоли, но добавляет в конце ненужный лишний "@".
- Он не захватывает мой строковый токен, так как это «J@v@Progr@mming». применить второй StringTokenizer, который добавит "~~~" там, где есть пробел.
Что мне не хватает? Я просмотрел документы API Java и не смог понять.
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());
}
}
"Java Programming".replace(" ","~~~").replace('a','@')
? - person Pshemo   schedule 20.07.2013