Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I have a question about File Writing in java. I'm writing a code that Master Mind Game and also, I want to make a file(.txt

I have a question about File Writing in java.

I'm writing a code that Master Mind Game and also, I want to make a file(.txt or .pdf) and record about how this game would play and what did user input to answer secret numbers in a file that I make. However, I have no idea how to make a file and write a result of game.

This is my code.

import java.util.Scanner; public class MasterMind{  public static void main(String[] args){   int[] number = makeArray(10); //make number of array   for(int i = number.length - 1; i > 0; i--){ //shuffle    int r = (int)(Math.random() * (i + 1));    int tmp = number[i];    number[i] = number[r];    number[r] = tmp;   }   int playNumber = 4; // digits   int[] answer = new int[playNumber];   if(number[0] == 0){     for (int i = 0; i < answer.length; i++){      answer[i] = number[i + 1];     }   }else{     for(int i = 0; i < answer.length; i++){      answer[i] = number[i];     }   }   /*for(int a: answer){    System.out.print(a + "\t");   }   */   System.out.println();   runGame(number, answer, 4);  }  private static int[] makeArray(int size){   int[] numbers = new int[size];   for(int i = 0; i < size; i++)    numbers[i] = generateNumber();   return numbers;  }  private static int generateNumber(){  return (int)(Math.random() * 10) + 1; // make secret number  }  private static void runGame(int[] number, int[] answer, int playNumber){   int hit = 0;   int blow = 0;   int count = 0;   int maxPlay = 5;   boolean gameEnd = false;   while(!gameEnd){    hit = 0;    blow = 0;    int[] userGuess = new int[playNumber];    boolean checkValid = false;    while(!checkValid){      System.out.println("enter your guess"); //ask user to get guess number      Scanner keyboard = new Scanner(System.in);      int[] inNum = new int[playNumber];      String guess = keyboard.nextLine();      int n = Integer.parseInt(guess);      String putNumber = guess.substring(0, 1); //set 1st      int digits = Integer.toString(n).length();      creatArray(inNum,n);      digits = Integer.toString(n).length();      if(putNumber.equals("0")){       System.out.println("you cannot enter 0 first");      }else if(digits != playNumber){       if(digits < playNumber || n < Math.pow(10, playNumber - 1))        System.out.println(digits);        System.out.println("It is not enough digits");      }else if(digits > playNumber){        System.out.println("It is too much");      }else{       checkValid = true;       userGuess = inNum;      }    }    for(int i = 0; i < playNumber; i++){ //check hit      if(answer[i] == userGuess[i]){        hit++;      }     }    for(int i = 0; i < playNumber; i++){ //check blow     for(int k = 0; k < playNumber; k++){      if(answer[i] == userGuess[k]){        blow++;      }     }    }    if(hit == playNumber){     System.out.println("It is correct");     System.out.println("you enter " + count);     gameEnd = true;    }else{     System.out.println(hit + "hit" + (blow - hit) + "Blow");     count++;    }    if(count == maxPlay){     System.out.println("You reach" + maxPlay + "Game Over");     gameEnd = true;    }   }  }  private static void creatArray(int[] inNum, int n){   for(int j = inNum.length - 1; j >= 0; j--){    int d = n / 10;    int k = n - d * 10;    n = d;    inNum[j] = k;   }  } } 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Financial management theory and practice

Authors: Eugene F. Brigham and Michael C. Ehrhardt

12th Edition

978-0030243998, 30243998, 324422695, 978-0324422696

Students also viewed these Programming questions