1つのJavaプログラムを作成しようとしています。このプログラムは、ユーザからの文字列を入力として受け取り、その中の特殊文字を取り除いて出力を表示します。そして、新しい行の各文字列を表示Java MatcherとPattern APIを使用せずに特殊文字を削除する
のは、私のプログラムは、XYZ Abcの
よう
恐ろしい
を特殊文字を削除することで出力を表示する必要があり、この文字列を読んだ後、私は、この文字列[email protected],2016!horrible_just?kidding
を持っているとしましょう
は、今私が知っているだけ
冗談はすでに利用可能なAPIのようなのMatcherがあるとパターンこれを行うにはjavaのAPI。しかし、私はJavaの初心者ですので、APIを使用したくないので、コードを少しずつ解読しようとしています。
これはこれまで私が試したことです。私がここで行ったことは、ユーザーから文字列を取り出し、特殊文字を配列に格納し、特殊文字を取得するまで比較を行うことです。また、新しい文字をStringBuilderクラスに格納します。
は、ここで私は新しい行にそれぞれの文字列を取得していない午前、
import java.util.*;
class StringTokens{
public void display(String string){
StringBuilder stringToken = new StringBuilder();
stringToken.setLength(0);
char[] str = {' ','!',',','?','.','_','@'};
for(int i=0;i<string.length();i++){
for(int j =0;j<str.length;j++){
if((int)string.charAt(i)!=(int)str[j]){
stringToken.append(str[j]);
}
else {
System.out.println(stringToken.toString());
stringToken.setLength(0);
}
}
}
}
public static void main(String[] args){
if(args.length!=1)
System.out.println("Enter only one line string");
else{
StringTokens st = new StringTokens();
st.display(args[0]);
}
}
}
私は唯一の特殊文字を取得していますこのコードを実行する私のコード
です。
Oooopss !!!うん、あなたは正しいです、それは愚かなものです! :) –
それでも正しいとは言えません。内側のループのために、正しいcharを複数回( 'str.length'回)追加します。 – Hulk
@Hulk真。しかし、彼はなぜ特殊文字だけを取得しているのかを質問していたので、私はそれに答えました。コメントできなかったので、答えとして投稿しました。 – user3738243