Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have come up with some errors and I can\'t seem to get the program to work cor

ID: 672257 • Letter: I

Question

I have come up with some errors and I can't seem to get the program to work correctly ( it won't finish spelling out the name even though it is correct and keeps putting two s's in the answer even though it should only have 1). This is a hangman program that the answer is "stinson" but it is not working correctly and won't finish right.

{
class Program
{
static void Main(string[] args)
{
Char guessedletter1 = 's';
Char guessedletter2 = 't';
Char guessedletter3 = 'i';
Char guessedletter4 = 'n';
Char guessedletter5 = 's';
Char guessedletter6 = 'o';
Char guessedletter7 = 'n';
Char[] guessed = new char[26];
int guessedIndex = 10;

Char Input;
int InvalidCount;
bool IsGuessed = false;
InvalidCount = 0;

WelcomeMessage();
InitializeGuessedArray(guessed, guessedIndex);

for(int i = 0 ; i < 10; i++){
Input = GetInput();
if (!CheckInput(guessed, Input, guessedletter1, guessedletter2, guessedletter3, guessedletter4, guessedletter5, guessedletter6, guessedletter7) == true) {
InvalidCount = InvalidCount + 1;
}
DisplayGuessedArray(guessed, guessedIndex);
if (CheckifGuessed(guessed, guessedIndex)) {
IsGuessed = true;
break;
}
}
DisplayFinalMessage(IsGuessed, InvalidCount);

Console.Write("Press any key to continue...");
Console.ReadKey();
}

private static void DisplayFinalMessage(bool IsGuessed, int InvalidCount)
{
Console.WriteLine("");
if (IsGuessed)
Console.WriteLine("Congratulations! You have figured out the word! Your score is: " + InvalidCount.ToString());
else
Console.WriteLine("Your score is: " + InvalidCount.ToString());
}
  

private static bool CheckifGuessed(char[] guessed, int guessedIndex)
{
bool IsCompleted = true;
for(int i = 0; i <= guessedIndex - 1 ; i++)
{
if (guessed[i] == '*') {
IsCompleted = false;
}
}
return IsCompleted;
}

private static void DisplayGuessedArray(char[] guessed, int guessedIndex)
{
for (int i = 0; i <= guessedIndex - 1; i++)
{
Console.Write(guessed[i]);
}

Console.WriteLine("");
Console.WriteLine("");
}

private static bool CheckInput(char[] guessed, char Input, char guessedletter1, char guessedletter2, char guessedletter3, char guessedletter4, char guessedletter5, char guessedletter6, char guessedletter7)
{
bool IsValid = false;
if (Input == guessedletter1)
{
guessed[0] = Input;
IsValid = true;
}

if (Input == guessedletter2)
{
guessed[1] = Input;
IsValid = true;
}


if (Input == guessedletter3)
{
guessed[2] = Input;
IsValid = true;
}


if (Input == guessedletter4)
{
guessed[3] = Input;
IsValid = true;
}


if (Input == guessedletter5)
{
guessed[4] = Input;
IsValid = true;
}

if (Input == guessedletter6)
{
guessed[5] = Input;
IsValid = true;
}

}

if (Input == guessedletter7)
{
guessed[5] = Input;
IsValid = true;
}
if (IsValid == false)
{
Console.WriteLine("You guessed incorrectly!");
return false;
}
else
{
Console.WriteLine("You guessed a letter correctly!");
return true;
}
}

private static char GetInput()
{
Console.Write("Enter a letter please: ");
ConsoleKeyInfo ckInfo = Console.ReadKey();
Console.WriteLine("");
return ckInfo.KeyChar;
}

private static void InitializeGuessedArray(char[] guessed, int guessedIndex)
{
for(int i = 0 ; i <= guessedIndex - 1; i++ )
{
guessed[i] = '*';
}
}

private static void WelcomeMessage()
{
Console.WriteLine("************************************************************");
Console.WriteLine("*********************** WEEK 6 *****************************");
Console.WriteLine("************************************************************");
Console.WriteLine("");
}
}
}

Explanation / Answer

import java.io.IOException;

import java.util.Scanner;

import javax.sound.midi.SysexMessage;

public class Hangman {

   public static void main(String[] args) throws IOException {

      

      

       String str = "stinson";

       int len = str.length();

      

       StringBuffer outputBuffer = new StringBuffer(len);

       for (int i = 0; i < len; i++){

       outputBuffer.append("_");

       }

       StringBuilder guessedWord = new StringBuilder(outputBuffer.toString());

       Scanner s = new Scanner(System.in);

       for(int i=0; i<10; i++) {

          

           System.out.println(" Enter your "+(i+1)+" guess: ");

           char c = s.nextLine().charAt(0);

          

           for(int j=0; j<len; j++) {

               if(c == str.charAt(j)) {

                   StringBuilder temp = new StringBuilder(guessedWord);

                   temp.setCharAt(j, str.charAt(j));

                   guessedWord = temp;

               }

           }

          

           System.out.println(guessedWord);

          

           if(str.equals(guessedWord.toString())){

               System.out.println("You have solved this hangman");

               return;

           }

       }

      

       System.out.println("Sorry, you have exhausted your 10 chances !!!");

      

   }

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote