2017-01-01 4 views
0

私は、hiddenWord();が呼び出されるたびに、試行された推測された文字に応じてその単語のヒントを表示するようにしたいと思っています。あなたがこのような何かを得ることを推測せずに"____"そして言葉が例えばマイクだったとすれば私は '私'と 'e'を推測しました"_i_e"を表示します。 私はかなり長い間これをしてきました。私はそれの周りに私の頭を包み込むことはできません。私はまだ問題は非常に基本的なものだった場合は事前に申し訳ありませんまだ初心者です。ゲームの推測された文字を表示する方法を試みるHang Man(Java)

私はプログラムの残りの部分を使わずに作成しようとしているメソッドを投稿します。必要に応じて残りの部分を投稿することができます。私はこの方法に2つの主な問題があります。

1-私は​​に少なくとも3文字ある必要があります。そのため、現在の状態では動作しません。それで、その下に3つのスペースが追加されました。それ以外の場合は、私が理解していないインデックスエラーが発生します。

2番目の問題は、手紙が見つからないときに"_"を正しく配布する方法です。私はあまりにも多くのダッシュをやっているようです。

+0

1.インデックスは、0であなたは私の反復ごとにJをリセットする必要はありません。1. 2.を開始する必要があります上記のクラスの使用例です。 cはiが変化したときにルックアップする必要があり、jが変化したときも同様にdを必要とする。それらは割り当てられた時点でiとjの値の影響を受けるだけです。 4.外側のループ内の単語の長さと内側のループ内の推測された文字を反復する必要があります。 5. STring replace()またはreplaceAll()関数を使用した代替ソリューションが見つかる可能性があります – samgak

+0

ユーザーは一度に1文字しか推測できませんか? – Dummy

+0

はい。一度に1文字のみ。 – Budaika

答えて

0

私は少しクラスをまとめました。私はあなたの説明から推測できるものに基づいてそれを書いた。ここで

public class Hangman { 
    // This char array will hold the result after each guess 
    // for example, if the word is "mike", and the use guesses 'i' 
    // the result array will contain ['_', 'i', '_', '_'] 
    private char[] result = null; 

    // The word the user has to guess 
    private String word = null; 

    public Hangman(String word) { 
     this.word = word; 
     result = new char[word.length()]; 
     // initialize the result to contain only underscores 
     for (int i = 0; i < result.length; i++) 
      result[i] = '_'; 
    } 

    public String getResult(char guessChar) { 
     // The underlying char array of the secret word 
     char[] wordArray = word.toCharArray(); 
     for (int i = 0; i < wordArray.length; i++) { 
      if (wordArray[i] == guessChar) 
       result[i] = guessChar; 
     } 
     return new String(result); 
    } 
} 

public class Test { 
    public static void main(String[] args) { 
     Hangman h = new Hangman("mike"); 
     System.out.println(h.getResult('i')); // prints _i__ 
     System.out.println(h.getResult('e')); // prints _i_e 

    } 
} 
関連する問題