zoukankan      html  css  js  c++  java
  • java

    猜字母游戏

     1 package day08_summerize;
     2 import java.util.Scanner;
     3 import java.util.Random;
     4 
     5 //猜字母游戏
     6 /**
     7  * @author Jooker
     8  * @version v1.0
     9  *
    10  */
    11 public class GuessCharsGame {
    12        
    13     //method1 生成器:生成1个有n个随机字母元素的数组,元素不重复
    14     public char[] arrayChar(int m){
    15         Random rand = new Random();
    16         char[] character = new char[m];
    17         
    18         for(int n=0;n<m;n++){
    19             character[n] = (char)(rand.nextInt(25)+97); /*随机元素*/
    20             int i = 0;
    21             while(i<n){
    22                 if(character[n] == character[i]){ /*如果重复,再给该位置的元素赋值,再比较,直到不重复*/
    23                     character[n] = (char)(rand.nextInt(25)+97); 
    24                 }else{
    25                     i++;
    26                 }
    27             }
    28             System.out.print(character[n]);
    29         }
    30         return character;
    31     }
    32     
    33     //method2 比较器:比较随机生成的字母序列和输入的字符串;交互:正确数量、正确位置、猜的次数
    34     public boolean check(String in,char[] check,int number,int summerize,boolean treat){
    35         int counter = 0;
    36         int position = 0;
    37         treat = true;
    38         
    39         for(int n=0;n<number;n++){    
    40             for(int i=0;i<in.length();i++){  
    41                 if(check[n] == in.charAt(i)){  //String1.charAt(i) --从String1字符串里,取出第i个字母
    42                     counter++;
    43                     if(n == i){
    44                         position++;    
    45                     }
    46                 }
    47             }
    48         }
    49         
    50         if((counter == number)&&(position == number)){
    51             System.out.println("恭喜你,都答对了.");
    52             treat = false;
    53         }else if(in.equals("exit")){
    54             System.out.println("退出游戏");
    55             treat = false;
    56         }else{            
    57             System.out.println("你猜对了"+counter+"个字母,其中"+position+"个字母位置正确(总次数="+summerize+",exit——退出)");
    58         }
    59         
    60         return treat;
    61     }
    62     
    63     public static void main(String[] args){
    64         Scanner scan = new Scanner(System.in);
    65         
    66         //实例化类,再调用方法,生成字母序列
    67         System.out.println("欢迎参加猜字母游戏,请输入你想猜测的字母序列元素个数:");
    68         int num = scan.nextInt(); /*输入字母序列个数*/
    69         System.out.println("游戏开始,你猜测的为"+num+"个字母的序列:(exit——退出)");
    70         GuessCharsGame gener = new GuessCharsGame();
    71         
    72         char[] focus = gener.arrayChar(num);  /*调用method1,随机生成字母序列*/ 
    73         
    74         //输入字符串
    75         int sum = 0;
    76         boolean tar =true;
    77         while(tar){
    78             String input = scan.next(); 
    79             sum++;
    80             tar = gener.check(input, focus, num, sum, tar);
    81         }        
    82         scan.close();
    83     }
    84 }
  • 相关阅读:
    解决SharePoint 文档库itemadded eventhandler导致的上传完成后,编辑页面保持报错的问题,错误信息为“该文档已经被编辑过 the file has been modified by...”
    解决SharePoint 2013 designer workflow 在发布的报错“负载平衡没有设置”The workflow files were saved but cannot be run.
    随机实例,随机值
    Spring4笔记
    struts2笔记(3)
    struts2笔记(2)
    获取文本的编码类型(from logparse)
    FileUtil(from logparser)
    DateUtil(SimpleDateFormat)
    struts2笔记
  • 原文地址:https://www.cnblogs.com/DeRozan/p/6807780.html
Copyright © 2011-2022 走看看