猜字符小游戏——可以设置等级

 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         System.out.println("请现在难度:5、7、9  三个等级中的一个");
 8         int cou = scan.nextInt();
 9         
10         char[] arr;
11         arr = array(cou);
12         System.out.println(arr);//作弊
13         int[] inp;//声明一个数组
14         int sore=0;
15        while(true) {
16            System.out.println("猜吧");
17            String str = scan.next().toUpperCase();//转化为大写
18            if(str.equals("EXIT")) {
19                System.out.println("下次在来吧");
20                break;
21            }
22            char[] arrs = str.toCharArray();
23            inp = input(arr,arrs);
24            int sum;//声明一个变量sum
25            if(inp[1]==5) {
26                sum = 100*arr.length-sore*10;//计算分数
27                System.out.println("恭喜你答对了");
28                System.out.println("你的总分:"+sum);
29                break;
30            }else {
31                sore++;
32                System.out.println("猜错了");
33                System.out.println("字母对的个数:  "+inp[0]+"	"+"位置对的个数:  "+inp[1]);
34            }
35           
36            
37            
38        }
39        scan.close();
40     }
41     /*生成随机字母*/
42     public static char[] array(int count) {
43         
44         char[] arr = new char[count];
45         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字母数组
46         boolean[] bool = new boolean[number.length];
47         int num;
48         for(int i=0;i<arr.length;i++) {//遍历数组
49             do {
50                  num = (int)(Math.random()*number.length);//0到26随机生成一个数
51             }while(bool[num]==true);//避免生成的字母重复
52             arr[i] = number[num];
53             bool[num]=true;
54         }    
55         return arr;
56     }
57     /*对比,用户输入的和随机生成的进行对比*/
58     public static int[] input(char[] arr,char[] arrs) {
59         int[] inp = new int[2];
60         for(int i=0;i<arr.length;i++) {
61             for(int j=0;j<arrs.length;j++) {
62                 if(arr[i]==arrs[j]) {
63                     inp[0]++;//字母对
64                     if(i==j) {
65                         inp[1]++;//位置对
66                     }
67                 }    
68         }
69         }
70         return inp;
71     }
72 
73 }
原文地址:https://www.cnblogs.com/package-java/p/9555257.html