Just learned the method, did a small project, guess the character of the game, here and you share a little bit.
We analyze by the effect we want to achieve:
1 First Command Line window prompts the user to enter the guessing character game and displays the "guess" 2 then the user enters a five-digit string (cannot be duplicated), then the system makes a judgment 3 if the string "exit" exits the game 4 If you do not guess the correct number of characters and guess the number of positions 5 if you guessed right then give the score, and exit the Game 6 points is a character 100 points, guess the wrong time buckle very. Let's analyze: what data is needed for this game: 1.char[] Ch is used to receive system generated random characters 2.char[] input is used to receive user input characters 3.int score is used to receive fractions 4.int count is used to receive the wrong guess Number of times 5.int[] result is used to store the number of guesses and the number of guessed-to position: 1. public static char[] Generate () {//used to generate a random character array char[] ch = new CHAR[5]; ... return ch; } 2.public static int[] Check (char[] ch,char[] input) {//used to check the number of guesses and guessed position int[] result = new I Nt[ch.length];.. return result; The code is as follows: 1. public static char[] Generate () {char[] letter = new char[26];//used to hold a-Z character for (int i =0;i<letter.length;i++) {letter[i]= (char) (i+65);//Convert the letter encoding to a character and hold it in the array} int index = 0; boolean[] flag = new boolean[letter.length];//used to mark characters that have already been selected char[] ch = new CHAR[5]; while (index<ch.length) {int i = (int) (Math.rando M () *letter.length), if (Flag[i]) {//exclude characters that have already been selected Contiune; } Ch[index]=letter[i]; index++; Flag[i]=true; } return ch; } 2.public static in[] Check (char[] ch,char[] input) {int[] result = new INT[2]; for (int i= 0;i<ch.length;i++) { for (int j=0;j<input.length;j++) { if (Ch[i]==input[j]) {result[0]++;//number of guessed characters if (i==j) { The number of result[1]++;//guessed position break;//if the position is judged by phase The same does not have to scan the following characters} } } } return result; Next, start writing the main function public static void main (string[] agrs) {char[] ch = Generate (); Scanner SC =new Sacnner (system.in); INT CoUNT =0; int score =0; System.out.println ("Welcome to guessing character game"); while (true) {System.out.println ("guess") String str = Sc.nextint (). toUpperCase ();//Convert the input string to uppercase if (str.equal ("EXIT")) {System.out.println ("back Out "); char input = str.tochararrays ();//string converted to character array int result = check (ch,input); if (result[1]==ch.length) {score = 100*ch.length-10*count; System.oUt.println ("Guessed right, scored:" +score) break; } else{ System.out.println ("Guess the number of characters is" +result[0]+ "guess the number of character positions is" +result[1]); count++; }}} This game can also be small, such as changing the length of the guessing string to change the game difficulty, or by the score to limit the number of game guessing, and so on, there is not much to write , we can try it.
Java----guessing characters games