java - day09 - summerize
猜字母游戏
package day08_summerize;
import java.util.Scanner;
import java.util.Random; //猜字母游戏
/**
* @author Jooker
* @version v1.0
*
*/
public class GuessCharsGame { //method1 生成器:生成1个有n个随机字母元素的数组,元素不重复
public char[] arrayChar(int m){
Random rand = new Random();
char[] character = new char[m]; for(int n=0;n<m;n++){
character[n] = (char)(rand.nextInt(25)+97); /*随机元素*/
int i = 0;
while(i<n){
if(character[n] == character[i]){ /*如果重复,再给该位置的元素赋值,再比较,直到不重复*/
character[n] = (char)(rand.nextInt(25)+97);
}else{
i++;
}
}
System.out.print(character[n]);
}
return character;
} //method2 比较器:比较随机生成的字母序列和输入的字符串;交互:正确数量、正确位置、猜的次数
public boolean check(String in,char[] check,int number,int summerize,boolean treat){
int counter = 0;
int position = 0;
treat = true; for(int n=0;n<number;n++){
for(int i=0;i<in.length();i++){
if(check[n] == in.charAt(i)){ //String1.charAt(i) --从String1字符串里,取出第i个字母
counter++;
if(n == i){
position++;
}
}
}
} if((counter == number)&&(position == number)){
System.out.println("恭喜你,都答对了.");
treat = false;
}else if(in.equals("exit")){
System.out.println("退出游戏");
treat = false;
}else{
System.out.println("你猜对了"+counter+"个字母,其中"+position+"个字母位置正确(总次数="+summerize+",exit——退出)");
} return treat;
} public static void main(String[] args){
Scanner scan = new Scanner(System.in); //实例化类,再调用方法,生成字母序列
System.out.println("欢迎参加猜字母游戏,请输入你想猜测的字母序列元素个数:");
int num = scan.nextInt(); /*输入字母序列个数*/
System.out.println("游戏开始,你猜测的为"+num+"个字母的序列:(exit——退出)");
GuessCharsGame gener = new GuessCharsGame(); char[] focus = gener.arrayChar(num); /*调用method1,随机生成字母序列*/ //输入字符串
int sum = 0;
boolean tar =true;
while(tar){
String input = scan.next();
sum++;
tar = gener.check(input, focus, num, sum, tar);
}
scan.close();
}
}
java - day09 - summerize的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- java 多线程 day09 线程池
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.c ...
- Java 学习 day09
01-面向对象(内部类访问规则) package myFirstCode; /* 内部类的访问规则: 1. 内部类可以直接访问外部类的成员,包括私有private. 之所以可以直接访问外部类中的成员, ...
- Java之路---Day09(继承)
2019-10-23-22:58:23 目录 1.继承 2.区分成员变量重名的方法 3.区分成员方法重名的方法 4.继承中重写与重载的区别 5.继承中覆盖重写的注意事项 6.继承中覆盖重写的设计原则 ...
- Java 复习整理day09
package com.it.demo01_thread; /* 案例: 多线程简介. 概述: 指的是进程有多条执行路径, 统称叫: 多线程. 进程: 指的是可执行程序, 文件(例如: .exe) 大 ...
- Java学习day09—-封装和继承
封装 1.封装 1.1 封装的概念和实现 封装: 属性私有:将属性使用private修饰,表示此属性只能在本类中访问,不让外部直接访问 方法公开:针对每一个属性编写一对公开的方法 get set 分别 ...
- java学习第二天多态.day09
接口 接口总结 接口表示一种规约(规范.标准),它里面定义了一些列抽象方法(功能),它可以被多个类实现. 1接口名称首写字母用I,表示一个接口,后命名使用驼峰命名 2.接口中定义的都是抽象方法,所以可 ...
- Java历程-初学篇 Day09 冒泡排序
冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是 ...
- [Java拾遗三]JavaWeb基础之Servlet
Servlet 1,servlet介绍 servlet是一项动态web资源开发技术. 运行在服务器端. 作用:处理业务逻辑,生成动态的内容,返回给浏览器 ...
随机推荐
- 【并查集】【set】AtCoder - 2159 - 連結 / Connectivity
Problem Statement There are N cities. There are also K roads and L railways, extending between the c ...
- 【最短路】【spfa】小vijos P1447 Updown
小vijos P1447 Updown 背景 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨大 ...
- 使用history命令查看作业的整体执行情况
1)通过使用history命令,我们可以深入到一个Job的任务级层面查看执行最快的任务,以及执行最慢的任务,以及其他的有用信息.命令如下: hadoop job -history /output “/ ...
- UML及其StarUML介绍
http://blog.csdn.net/monkey_d_meng/article/details/6005764 http://www.uml.org.cn/oobject/200901203.a ...
- RequireJs 入门
官网:http://www.requirejs.cn/ 使用方法: 1.引入require.js 可以在底部引入: <script type="text/javascript" ...
- Jenkins+Maven+Gitlab+Nexus持续集成环境搭建
1.软件及服务介绍 Jenkins:jenkins是实现代码自动化流程上线的工具,Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...
- 阻止 gulp 发生异常后退出
gulp-plumber 可以阻止 gulp 插件发生错误导致进程退出并输出错误日志.
- POJ3264 Balanced Lineup 【线段树】+【单点更新】
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 32778 Accepted: 15425 ...
- 可伸缩Web架构与分布式系统(2)
开源软件近年来已变为构建一些大型网站的基础组件.并且伴随着网站的成长,围绕着它们架构的最佳实践和指导准则已经显露.这篇文章旨在涉及一些在设计大型网站时需要考虑的关键问题和一些为达到这些目标所使用的组件 ...
- rails手脚架(scaffold)功能
scaffold是一个高速开发rails应用的代码框架.能够使用一条命令实现CRUD操作. 1: 创建一个应用 rails new scaffoldapp cd scaffoldapp rails s ...