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;
}
}
更多有趣的经典小游戏实现专题,也分享给大家:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
解决spring-cloud-config 多服务共享公共配置的问题
这篇文章主要介绍了解决spring-cloud-config 多服务共享公共配置的问题,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11
MybatisPlus如何自定义TypeHandler映射JSON类型为List
这篇文章主要介绍了MybatisPlus如何自定义TypeHandler映射JSON类型为List,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
java冷知识:javac AbstractProcessor详解
这篇文章主要介绍了java冷知识:javac AbstractProcessor详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11
Springboot中的@ConditionalOnBean注解详细解读
这篇文章主要介绍了Springboot中的@ConditionalOnBean注解详细解读,@ConditionalOnMissingBean注解两个类,一个Computer类,一个配置类,想要完成;如果容器中没有Computer类,就注入备用电脑Computer类,如果有Computer就不注入,需要的朋友可以参考下2023-11-11
如何通过自定义spring invalidator注解校验数据合法性
这篇文章主要介绍了如何通过自定义spring invalidator注解校验数据合法性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07


最新评论