这篇文章主要为大家展示了java如何使用JOptionPane实现猜数字游戏,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
一、我猜数字
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;
}
}
以上就是关于java如何使用JOptionPane实现猜数字游戏的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。