java使用JOptionPane猜数字游戏

 更新时间:2020年05月16日 16:05:33   作者:刘璐菲  
这篇文章主要为大家详细介绍了java使用JOptionPane猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下

一、我猜数字

import java.util.Random;
import javax.swing.JOptionPane;
public class MyRandom
{
 public static void main(String[] args)
 {
 //生成随机数
 Random randomNumber = new Random();
 int myNum = randomNumber.nextInt(10);
 String guessNum = "";
 int guessNumber = 0;
 //猜对猜错的标识
 boolean sign = false;
 //猜数字的循环
 do{
 try{
 guessNum = JOptionPane.showInputDialog(null,"欢迎来到猜数字游戏!,请输入数字");
 guessNumber = Integer.parseInt(guessNum);
 if(guessNumber > myNum)
 {
 JOptionPane.showMessageDialog(null,"猜大了");
 } 
 else if(guessNumber < myNum)
 {
 JOptionPane.showMessageDialog(null,"猜小了");
 }
 else
 {
 sign = true;
 }
 }catch(NumberFormatException e){
 JOptionPane.showMessageDialog(null,"输入格式错误");
 }
 }while(guessNumber != myNum);
 
 if(sign)
 {
 JOptionPane.showMessageDialog(null,"恭喜你猜对了!");
 }
 }
}

二、电脑猜数字

import javax.swing.JOptionPane;
import java.util.ArrayList;
import java.util.Random;

public class ComRandom
{
 //给猜的数设置一个范围
 int low = 0, high = 10;
 boolean leave = false;
 public void run()
 {
 int myIntNumber = 0;
 String myNumber;
 try{
 //给电脑一个数让他猜
 myNumber = JOptionPane.showInputDialog(null,"给我一个0-10的数字,让我(电脑)来猜");
 try{
 myIntNumber = Integer.parseInt(myNumber);
 }catch(NumberFormatException e){
 JOptionPane.showMessageDialog(null,"异常");
 leave = true;

 }
 }catch(NullPointerException e){
 
 JOptionPane.showMessageDialog(null,"拜拜");
 }
 
 if(!leave){
 //电脑随机猜一次,生成一个随机的数字
 Random randomGenerator= new Random();
 int guessNumber = randomGenerator.nextInt(10);
 //循环判断电脑猜的数字是大还是小
 //定义两个字符串,提示电脑是猜大了还是猜小了。
 String output = "";
 try{
 output = JOptionPane.showInputDialog(null,"是" + guessNumber + "!我猜对了吗?");
 while(!output.equals("猜对了"))
 {
 if(output.equals("猜大了"))
 {
 guessNumber = guessNumber(guessNumber,myIntNumber);
 }
 else if(output.equals("猜小了"))
 {
 guessNumber = guessNumber(guessNumber, myIntNumber);
 }
 else
 {
 JOptionPane.showMessageDialog(null,"我没听懂你在说什么...");
 }
 
 try{
 output = JOptionPane.showInputDialog(null,"是" + guessNumber + "!我猜对了吗?");
 }catch(NullPointerException e)
 {
 JOptionPane.showMessageDialog(null,"异常");
 }
 }
 }catch(NullPointerException e){
 JOptionPane.showMessageDialog(null,"异常");
 }
 }
 leave = false;
 }
 
 /**
 * 二分法猜数字
 */
 private int guessNumber(int guess,int number)
 {
 if(guess < number)
 {
 //答案是5 我猜的是2
 low = guess + 1;
 }
 else if(guess > number)
 {
 //答案是6我猜的是8
 high = guess - 1;
 }
 guess = (high + low) / 2;
 return guess;
 }
}

更多有趣的经典小游戏实现专题,也分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

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

相关文章

  • 深入理解Java垃圾回收机制以及内存泄漏

    深入理解Java垃圾回收机制以及内存泄漏

    下面小编就为大家带来一篇深入理解Java垃圾回收机制以及内存泄漏。小编觉得挺不错的,现在就分享给大家,也给的大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 时间中间键的整理

    时间中间键的整理

    这篇文章主要介绍了时间中间键的整理的相关资料,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • 解决spring-cloud-config 多服务共享公共配置的问题

    解决spring-cloud-config 多服务共享公共配置的问题

    这篇文章主要介绍了解决spring-cloud-config 多服务共享公共配置的问题,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • MybatisPlus如何自定义TypeHandler映射JSON类型为List

    MybatisPlus如何自定义TypeHandler映射JSON类型为List

    这篇文章主要介绍了MybatisPlus如何自定义TypeHandler映射JSON类型为List,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • java冷知识:javac AbstractProcessor详解

    java冷知识:javac AbstractProcessor详解

    这篇文章主要介绍了java冷知识:javac AbstractProcessor详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Eclipse安装Free marker插件教程

    Eclipse安装Free marker插件教程

    这篇文章主要为大家详细介绍了Eclipse安装Free marker插件教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Java Stream流之求和的实现

    Java Stream流之求和的实现

    这篇文章主要介绍了Java Stream流之求和的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Springboot中的@ConditionalOnBean注解详细解读

    Springboot中的@ConditionalOnBean注解详细解读

    这篇文章主要介绍了Springboot中的@ConditionalOnBean注解详细解读,@ConditionalOnMissingBean注解两个类,一个Computer类,一个配置类,想要完成;如果容器中没有Computer类,就注入备用电脑Computer类,如果有Computer就不注入,需要的朋友可以参考下
    2023-11-11
  • 如何通过自定义spring invalidator注解校验数据合法性

    如何通过自定义spring invalidator注解校验数据合法性

    这篇文章主要介绍了如何通过自定义spring invalidator注解校验数据合法性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Spring RestTemplate远程调用过程

    Spring RestTemplate远程调用过程

    这篇文章主要介绍了Spring RestTemplate远程调用过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论