0

randomWordこれは、すべてのアスタリスクに変更されるはずです

WordHider secretWord = new WordHider();         
secretWord.setSecretWord(randomWord);
System.out.println(secretWord);

を設定する他のクラスのメソッドrandomWord

public void setSecretWord(String newSecretWord) {
    secretWord = newSecretWord.toLowerCase();
    if (secretWord.length() > 0) {
        wordMask = HIDE_CHAR;
        for (int i = 1; i < secretWord.length(); i++) {
            wordMask += HIDE_CHAR;
        }

私が得ているのはすべてprogram3.WordHider@a37368出力用です。

4

2 に答える 2

0

これは、オブジェクトのWorldHiderデフォルトの toString メソッドであるためです。他のものを印刷したい場合は、それをオーバーライドする必要があります。

または、そのクラスに秘密の言葉を出力するメソッドを作成します。それを呼ぶにはこのようなもの

System.out.println(secretWord.getSecretWord());

そして、実際のゲッターメソッドは

public String getSecretWord() {
return wordMask;
}
于 2013-03-29T01:32:59.023 に答える
0

ここで行っているのは、新しいWordHiderオブジェクトを作成し、その属性の 1 つをsetSecretWordメソッドで設定してから、属性の代わりにオブジェクトを出力することです。あなたのWordHiderクラスには、おそらくあなたが望むことをするgetSecretWordorメソッドがあります。printSecretWord

そのメソッドが存在しない場合は、WordHiderwordMask属性を出力するだけです。print ステートメントを次のように置き換えてみてください。

    System.out.println(secretWord.wordMask);

wordMask がプライベート属性の場合、WordHiderクラスがそれを返す新しいメソッドを作成する必要がある場合があります。

于 2013-03-29T01:37:14.647 に答える