java学习之猜数字小游戏

 更新时间:2019年07月01日 08:35:54   作者:傻小子6  
这篇文章主要为大家详细介绍了java学习之猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

今天主要学习了一些初级的设计,完成了这个猜数字的小游戏,其是也算不上是什么游戏,因为我答案都给出来了。当然也是想对代码更加熟练的操作,让自己能够得心应手。

这个小程序中让我花了点时间的主要是那个如何去重的问题,当时也是思考良久,后来才考虑到使用死循环让随机数产生直到不重复为止,其他感觉也还好。

import java.util.Scanner;
 
public class GuessingGames {
 public static void main(String[] args) {
 Scanner in=new Scanner(System.in);
 char[] chs=generate();
 System.out.println(chs);
 int score=500;
 while(true) {
 System.out.println("请猜猜看!");
 String str=in.next();
 char[] input=str.toCharArray(); //将用户输入的字符串转换为数组
 int[] result=compare(chs, input);
 if (result[1]==chs.length) {
 System.out.println("恭喜你,猜对了!!!你获得的分数为"+score+"猜错次数为:"+(500-score)/10);
 break;
 }else {
 System.out.println("字符猜对个数为:"+result[0]+","+"位置猜对为:"+result[1]);
 score-=10;
 }
 }
 }
 
 // 随机生成字母
 public static char[] generate() {
 char[] letters = { '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' };
 char[] chs = new char[5];
 char copy;
 for (int i = 0; i < chs.length; i++) {
 chs[i] = letters[(int) (Math.random() * 26)];
 copy=letters[(int) (Math.random()*26)];
 for (int j = 0; j < i; j++) {
 if (chs[i]==chs[j]) {
  for(;;) {
  copy=letters[(int) (Math.random()*26)];
  if (chs[i]!=copy) {
  chs[i]=copy;
  break;
  }
  }
 }
 }
 }
 return chs;
 }
 
 //完成两个数组的对比
 public static int[] compare(char[] chs,char[] input) {
 int[] score=new int[2];
 for (int i = 0; i < input.length; i++) {
 for (int j = 0; j < chs.length; j++) {
 if (input[i]==chs[j]) {
  score[0]++;
  if (i==j) {
  score[1]++;
  }
  break;
 }
 }
 }
 return score;
 }
}

小编再为大家分享一段代码:Java控制台猜数字小游戏:

import java.util.*; 
/**
 *控制台猜数字小游戏,系统自动生成范围为1-100的数字
 *@version 1.0 2018-01-04
 *@author jie1024(wechat:wxxueba)
 */
public class GuessX{
 public static void main(String[] args){
 Random random = new Random();//创建random
 int x = random.nextInt(100)+1;//生成一个1-100之间的随机数 random.nextInt(100)的范围为0-99,所以+1,范围为1-100
 System.out.println("系统已自动为您生成了一个随机数(范围为1-100),游戏开始!");
 System.out.print("猜猜这个数字是多少吧:");
 Scanner in = new Scanner(System.in);//创建scanner
 int y = in.nextInt(); //输入数字
 int count = 1; //次数
 
 
 while(y != x){
 
 count ++;
 
 if(y<1 || y>100){
 System.out.print("Sorry,你猜的数字不在范围之内(范围为1-100),请再重新猜一次吧:");
 y = in.nextInt();
 }
 
 else if (y>x){
 System.out.print("Sorry,你输入的数字太大了,请再重新猜一次吧:");
 y = in.nextInt();
 
 }
 else if (y<x){
 System.out.print("Sorry,你输入的数字太小了,请再重新猜一次吧:");
 y = in.nextInt();
 }
 }
 System.out.println("恭喜你,猜对了!你猜的数字是" + y + "你总共猜了" + count + "次!");
 }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringAop实现操作日志记录

    SpringAop实现操作日志记录

    这篇文章主要介绍了SpringAop实现操作日志记录的方法,帮助大家更好的理解和使用SpringAop,感兴趣的朋友可以了解下
    2020-12-12
  • spring注入配置文件属性到java类

    spring注入配置文件属性到java类

    这篇文章主要为大家介绍了spring注入配置文件属性到java类实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • java 发送带Basic Auth认证的http post请求实例代码

    java 发送带Basic Auth认证的http post请求实例代码

    下面小编就为大家带来一篇java 发送带Basic Auth认证的http post请求实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • SpringBoot中如何统一接口返回与全局异常处理详解

    SpringBoot中如何统一接口返回与全局异常处理详解

    全局异常处理是个比较重要的功能,一般在项目里都会用到,这篇文章主要给大家介绍了关于SpringBoot中如何统一接口返回与全局异常处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • POI对Excel自定义日期格式的读取(实例代码)

    POI对Excel自定义日期格式的读取(实例代码)

    下面小编就为大家带来一篇POI对Excel自定义日期格式的读取(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 关于SSM框架下各层的解释说明(Controller等)

    关于SSM框架下各层的解释说明(Controller等)

    这篇文章主要介绍了关于SSM框架下各层的解释说明(Controller等),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Spring的Eureka续约(心跳检测)详解

    Spring的Eureka续约(心跳检测)详解

    这篇文章主要介绍了Spring的Eureka续约(心跳检测)详解,eureka client每隔一定的时间,会给eureka server发送心跳,保持心跳,让eureka server知道自己还活着,需要的朋友可以参考下
    2023-11-11
  • Java编程Post数据请求和接收代码详解

    Java编程Post数据请求和接收代码详解

    这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 浅谈java异常处理(父子异常的处理)

    浅谈java异常处理(父子异常的处理)

    下面小编就为大家带来一篇浅谈java异常处理(父子异常的处理)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • SpringBoot使用swagger生成api接口文档的方法详解

    SpringBoot使用swagger生成api接口文档的方法详解

    在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档,需要的可以了解一下
    2022-10-10

最新评论