猜字符小游戏

 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]+"	"+"位置对的个数:  "+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