1 package MonkeyGuess; 2 import java.util.Scanner; 3 public class Guess { 4 5 public static void main(String[] args) { 6 Scanner scan = new Scanner(System.in); 7 char[] arr; 8 arr = array(); 9 System.out.println(arr);//作弊 10 int[] inp;//声明一个数组 11 int sore=0; 12 while(true) { 13 System.out.println("猜吧"); 14 String str = scan.next().toUpperCase();//转化为大写 15 if(str.equals("EXIT")) { 16 System.out.println("下次在来吧"); 17 break; 18 } 19 char[] arrs = str.toCharArray(); 20 inp = input(arr,arrs); 21 int sum;//声明一个变量sum 22 if(inp[1]==5) { 23 sum = 100*arr.length-sore*10;//计算分数 24 System.out.println("恭喜你答对了"); 25 System.out.println("你的总分:"+sum); 26 break; 27 }else { 28 sore++; 29 System.out.println("猜错了"); 30 System.out.println("字母对的个数: "+inp[0]+"\t"+"位置对的个数: "+inp[1]); 31 } 32 33 34 35 } 36 scan.close(); 37 } 38 /*生成随机字母*/ 39 public static char[] array() { 40 char[] arr = new char[5]; 41 char[] number = {‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘O‘,‘P‘,‘Q‘,‘R‘,‘S‘,‘T‘,‘U‘,‘V‘,‘W‘,‘X‘,‘Y‘,‘Z‘};//创建一个26字母数组 42 boolean[] bool = new boolean[number.length]; 43 int num; 44 for(int i=0;i<arr.length;i++) {//遍历数组 45 do { 46 num = (int)(Math.random()*number.length);//0到26随机生成一个数 47 }while(bool[num]==true);//避免生成的字母重复 48 arr[i] = number[num]; 49 bool[num]=true; 50 } 51 return arr; 52 } 53 /*对比,用户输入的和随机生成的进行对比*/ 54 public static int[] input(char[] arr,char[] arrs) { 55 int[] inp = new int[2]; 56 for(int i=0;i<arr.length;i++) { 57 for(int j=0;j<arrs.length;j++) { 58 if(arr[i]==arrs[j]) { 59 inp[0]++;//字母对 60 if(i==j) { 61 inp[1]++;//位置对 62 } 63 } 64 } 65 } 66 return inp; 67 } 68 69 }
原文地址:https://www.cnblogs.com/package-java/p/9555088.html
时间: 2024-11-02 20:40:37