2016-03-28 18 views
0

Bütün gece bir cevap bulmak için denedim ve bir şey elde etmeyi başaramadım. Yapmaya çalıştığım şey 2 kelime, bir secretWord ve bir hiddenWord oluşturmaktır. Gizli kelime, secretWord ile aynı uzunluktadır ancak tüm karakterler bir sembolle değiştirilir. Bunu setBuilder veya diziler ile nasıl yapılacağını gördüm, ancak onları kullanmanın rahat olduğu noktada değil ve onlar olmadan mümkün olup olmadığını bilmek istiyorum.Bir kelimeyi karakterlerle gizleme (hangman)

üzgünüm bu başıboş görünüyor, ama ben baktım neresinde doesnt ya diziler veya setbuilder

public class Hangman { 




    public static void main(String[] args) { 

     Hangman game = new Hangman(); 
     game.initialize("Happiness"); 
     System.out.println("Lets play a round of hangman"); 
     game.playGame(); 

     Scanner keyboard = new Scanner(System.in); 
     char guess = 'a'; 
     int secretLength; 

     public class playGame {{ 
     while (isFound == false) 
      System.out.println("The disguised word is " + game.getDisguisedWord); 
      System.out.println("Guess a letter: "); 
      game.makeGuess(); 
    }} 

    private class isFound {{ 
     if (getSecretword.secretWord.equals(getDisguisedWord.disguisedWord)){ 
     } 
     }} 
     public class getDisguisedWord {{ 
     return disguisedWord; 
     }} 



     public class getSecretWord { 
     initialize.getsecretWord(); 

     } 

     private class makeGuess {{ 
     char guess = keyboard.next().charAt(0); 
     for (int index = 0; index < secretWord.length(); index++) 
      if (initialize.secretWord.charAt(index) == guess) 
       hiddenWord.setCharAt(index, guess); 
     }} 

     public class initialize {{ 
     this.secretWord(); 
     int secretLength = secretWord.length(); 
     while (secretLength > 0){ 
      hiddenWord += '?'; 
     } 
     } 


    } 
+5

Etiketleriniz cevabını güzel bir şekilde ortaya koyuyor. 'String.replace' senin arkadaşın burada. Dene. Ayrıca, şimdiye kadar denediğiniz şeyi paylaşın, böylece insanlar size yardım edebilir ve nerede takıldığını görebilirler. –

+0

Kodlarınız nerede? –

+0

http://stackoverflow.com/a/2807731/4297364 nasıl olur? –

cevap

0

Sen String.replaceAll() kullanarak bunu yapabilirsiniz dahil bir sollution varsa:

hiddenWord = secretWord.replaceAll(".", yourSymbol); 

"." normal ifadelerde herhangi bir karakter anlamına gelir.