-3

私は自分の com のクラスで、運命の輪ゲームを作成する必要がある課題に取り組んでいます。私は現在、getDisplayedPhrase私が説明する方法に取り組んでいます。このプログラムでは、ランダムなフレーズがあります。たとえば、
"this is a question, thanks for helping!"
このフレーズを次のように変更したい
"**** ** * ********, ****** *** *******!"
です。ご覧のとおり、文字だけを変更しようとしているので、

private static final String alpha ="abcdefghijklmnopqrstuvwxyz" 

句読点を避けるために。これは私がこれまでに持っているものです:

public String getDisplayedPhrase() {
    for (int i = 0; i<secretPhrase.length(); i++){
        I don't know what to put here and what method to use???
                I'm thinking of using charAt() or indexOf()
    }
    return displayedPhrase;
}
4

3 に答える 3

6
return secretPhrase.replaceAll("[a-zA-Z]","*")
于 2012-10-30T21:41:34.397 に答える
3

Characterクラスを使用して、文字がアルファベットかどうかを判別できます。

   String s = "this is a question, thanks for helping!";
            StringBuilder rep="";
            for(int i=0; i<s.length();i++){
                if(Character.isAlphabetic(s.charAt(i))){
                    rep.append("*");
                }
                else {
                    rep.append(s.charAt(i));
                }
            }
            System.out.println(rep);

String.replace()余分な新しい文字列の代わりに、既存の文字列を使用して置き換えることもできます

  for(int i=0; i<s.length();i++){
            if(Character.isAlphabetic(s.charAt(i))){
                s=s.replace(s.charAt(i), '*');
            }

        }
        System.out.println(s);

出力:

**** ** * ********, ****** *** *******!
于 2012-10-30T21:39:58.067 に答える
2

を使用しString.replaceAll(String regex, String replacement)ます。課題なので、正規表現部分の調査をさせていただきます。

于 2012-10-30T21:40:02.087 に答える