java猜字母讲解_java_猜字母游戏

java猜字母游戏

猜字母游戏:用户指定游戏难度(5、7、9),程序生成随机不重复字母。用户猜错,提示用户对的字母数量和对的位置数量。

import java.util.Scanner;

public class GuessWord {

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);

int num;

do{

System.out.println("猜字母游戏,请输入数字设置游戏难度(5、7、9),输入“EXIT”退出");

num=scan.nextInt();

}while(num!=5&&num!=7&&num!=9);//判断输入的难度值

char[] arr=generate(num);

//System.out.println(Arrays.toString(arr)); //生成随机数

int [] result;

do{

String str=scan.next().toUpperCase();//toUpperCase()将小写字母改成大写字母

if(str.equals("EXIT"))

break;

char[] chs=str.toCharArray();//toCharArray()将字符串转换成字符数组

result=check(arr,chs);

if(result[0]==chs.length){

System.out.println("恭喜你猜对了");

}else{

System.out.println("你猜对字母:"+result[1]+"个 猜对位置:"+result[0]+"个");

}

}while(result[0]!=num);

}

//生成随机字母

public static char[] generate(int num){

char[] chs=new char[num];

char[] word=new char[26];

for(int i=0;i

word[i]=(char)(65+i);//赋值 A、B、C、D、、、、

}

boolean[] flags=new boolean[word.length];

for(int i=0;i

int index;

do{

index=(int)(Math.random()*word.length);

if(flags[index]==false){ //如果生成的随机下标数flags[]的值为false,则可以生成word[]中该下标的字母

chs[i]=word[index];

flags[index]=true;

break;

}

}while(flags[index]);

}

return chs;

}

//判断用法输入

public static int[] check(char[] chs ,char[] input){

int result[]=new int[2];

for(int i=0;i

for(int j=0;j

if(chs[i]==input[j]){

result[1]++; //result[1]表示字母对

if(i==j){

result[0]++; //result[0]表示位置对

}

break;

}

}

}

return result;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

list java removeif_java – removeIf()方法.从List中删除所有元素

我有一个用户列表,我想从我的列表中删除id为其实我这样做:[...]int pid1 1;int pid2 2;int pid3 3;Predicate personPredicate1 p-> p.getPid() pid1;Predicate personPredicate2 p-> p.getPid() pid2;Predicate personPredicate3 p-> p.getPid() …

服务器是什么系统_服务器自愈路由系统、单线以及BGP多线的区别是什么?

你是否了解服务器自愈路由系统呢?你是否了解服务器单线路呢?你是否了解服务器BGP多线路呢?你是否知道它们之间有什么区别呢?本文主要分为两大块来讲:1.分别简单的介绍下服务器的自愈路由系统、服务器单线路和服务器BGP…

java api管理工具_一个能快速写出实体类的Api文档管理工具

今天各种MVC框架满天飞,大大降低了编码的难度,写实体类就没有办法回避的一件事了,花大把的时间去做一些重复而且繁琐的工作,实在不是一个优秀程序员的作风,所以多次查找和尝试后,找到一个工具类网站——Api…

recyclerview 分组_Android使用RecyclerView实现跨列分组

效果图:需求分析:如上图所示,这是一个展示年级及学期的界面。年级分为三组高中、初中和小学。因学期太多若按一个一个控件的写既繁琐又不够优雅,所以我采用 RecyclerView配合分组来实现效果。注意:我这边是使用一个 Re…

rtmp服务器_nginx+windwos 搭建 rtmp 流媒体服务器

喜欢就关注我们吧!“ 写此篇文章属于笔者在开发项目中,对项目开发架构的一种选型,目前正在探索阿里云的视频直播服务和nginx自行搭建流媒体服务器,希望能选择最优的一种方案,进行开发。”以下是使用nginx自行搭建rtmp流…

java rest风格传参_SpringMVC的REST风格的四种请求方式总结

一、 在HTTP 协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:1、GET 获 取资源2、POST 新建资源3、PUT 更新资源4、DELETE 删除资源二、REST:即 Representational State Transfer。(资源)表…

java语言编写进制转换_Java 3种方法实现进制转换

由其他进制转换为十进制比较简单,下面着重谈一谈十进制如何化为其他进制。1.使用Java带有的方法Integer,最简单粗暴了,代码如下//使用java提供的方法//但仅局限于比较常用的二进制、八进制、十六进制public static String trans1(int num, in…

r语言聚类分析_图说层次聚类分析原理和R语言实现

1、引言“物以类聚、人以群分”。但我们面对一群人或者一堆物的时候,我们都希望将他们分分类,分类之后,我们才能更加有针对性地采取措施,从而提高工作效率。如,我们将消费者分成若干类,有的是土豪、有的是工…

peewee创建mysql_python – peewee MySQL,如何创建包装SQL构建的ins的自定义字段类型?...

我想在peewee(通过MySQL)创建一个自定义UUID字段.在python中,我使用UUID作为一个六角形字符串,例如:uuid ’110e8400-e29b-11d4-a716-446655440000′但是我想将它存储在数据库中的BINARY(16)类型的列中以节省空间.MySQL内置了HEX()和UNHEX()方法,可以在字符串和二进…

python scrapy教程实例_Python之scrapy实例1

下文参考:http://www.jb51.net/article/57183.htm个人也是稍加整理,修改其中的一些错误,这些错误与scrapy版本选择有关,个环境:Win7x64_SP1 Python2.7 scrapy1.1另外例子中的URL(http://www.dmoz.org/Computers/Prog…

goods.java_javaweb网上书城项目 1.用户管理:注册会员 - 下载 - 搜珍网

压缩包 : java web网上图书商城项目.zip 列表java web网上图书商城项目/java web网上图书商城项目/goods/java web网上图书商城项目/goods/.classpathjava web网上图书商城项目/goods/.myeclipse/java web网上图书商城项目/goods/.mymetadatajava web网上图书商城项目/goods/.p…

python样本不均衡_使用Python中的smote处理正负样本之间的不平衡,python,实现,失衡,问题...

机器学习中难免遇到正负样本不平衡问题,处理办法通常有梁总,一:过采样,增加正样本数据;二:欠采样,减少负样本数据,缺点是会丢失一些重要信息。smote属于过采样。代码# from imblearn…

java 检测硬盘原理_深入Java核心 Java内存分配原理精讲

Java内存分配与管理是Java的核心技术之一,一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆&#xf…

python调用sdk的文章_如何使用 python 接入虹软 ArcFace SDK

公司需要在项目中使用人脸识别SDK,并且对信息安全的要求非常高,在详细了解市场上几个主流人脸识别SDK后,综合来看虹软的Arcface SDK比较符合我们的需求,它提供了免费版本,并且可以在离线环境下使用,这一点非…

java web 导出word_JavaWeb Project使用FreeMaker导出Word文件

基本思路1. 导入freemaker2.3.jar2. 需要导出的Word模板3. 在Word内填入值的标签4. Word另存为xml(2003版本)5. Coding6. 导出Word文件具体操作1. Intellij IDEA > FIle > Project Structure > Libraries > ""(左下角) > OK导入Freemaker Jar2. Word模…

机器人编程与python语言的区别_儿童编程和机器人编程有啥区别?

这是最全面的回答!一篇文章让你彻底了解少儿编程和机器人编程的区别!虽然都带有“编程”二字,但少儿编程和机器人编程还是有本质区别的,有哪些不一样呢?偷懒的家长可以直接看下面这张表格:想要详细了解的话…

php中tables,php显示TABLE数据

php显示TABLE数据2018-11-22//processShowData.php查询数据库表信息学生一览表<?php echo $id ?><?php echo $name ?><?php echo $age ?><?php echo $sex ?><?php echo $address ?>结果&#xff1a;学号姓名年龄性别地址1Jane26female…

云服务器安装python_云服务器 搭建 python

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

php获取当前系统配置文件,thinkphp5.1+配置文件结构及获取

tp5.1和5.0的差别还是不小的&#xff0c;取消了很多东西&#xff0c;例如基本配置项就做了很大的改变。5.1没有config.php配置文件&#xff0c;默认配置都在app.php配置文件&#xff0c;并且配置参数区分大小写&#xff0c;所有的配置文件在config目录下。和5.0最大的区别是&am…

sql 除以_使用SQL分析游戏运营情况

数据来源&#xff1a;http://www.dcjingsai.com/common/cmpt/%E6%B8%B8%E6%88%8F%E7%8E%A9%E5%AE%B6%E4%BB%98%E8%B4%B9%E9%87%91%E9%A2%9D%E9%A2%84%E6%B5%8B%E5%A4%A7%E8%B5%9B_%E7%AB%9E%E8%B5%9B%E4%BF%A1%E6%81%AF.html游戏介绍&#xff1a;《野蛮时代》是一款SLG游戏。在…