zoukankan      html  css  js  c++  java
  • 猜字符小游戏——可以设置等级

     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 }
  • 相关阅读:
    MySQL修改表中字段的字符集
    JMM内存模型相关笔记整理
    可重入锁与不可重入锁
    ForkJoin、并行流计算、串行流计算对比
    CyclicBarrier的用法
    git笔记整理-learnGitBranching
    Git 学习相关笔记
    《0day2》学习笔记-part5(书目第十二章(上))
    《0day2》学习笔记-part4(书目第八、九、十、十一章)
    《0day2》学习笔记-part3(书目第六、七章)
  • 原文地址:https://www.cnblogs.com/package-java/p/9555257.html
Copyright © 2011-2022 走看看