java使用JOptionPane猜數(shù)字游戲
本文實例為大家分享了java實現(xiàn)猜數(shù)字游戲的具體代碼,供大家參考,具體內(nèi)容如下
一、我猜數(shù)字
import java.util.Random;
import javax.swing.JOptionPane;
public class MyRandom
{
public static void main(String[] args)
{
//生成隨機數(shù)
Random randomNumber = new Random();
int myNum = randomNumber.nextInt(10);
String guessNum = "";
int guessNumber = 0;
//猜對猜錯的標(biāo)識
boolean sign = false;
//猜數(shù)字的循環(huán)
do{
try{
guessNum = JOptionPane.showInputDialog(null,"歡迎來到猜數(shù)字游戲!,請輸入數(shù)字");
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,"恭喜你猜對了!");
}
}
}








二、電腦猜數(shù)字
import javax.swing.JOptionPane;
import java.util.ArrayList;
import java.util.Random;
public class ComRandom
{
//給猜的數(shù)設(shè)置一個范圍
int low = 0, high = 10;
boolean leave = false;
public void run()
{
int myIntNumber = 0;
String myNumber;
try{
//給電腦一個數(shù)讓他猜
myNumber = JOptionPane.showInputDialog(null,"給我一個0-10的數(shù)字,讓我(電腦)來猜");
try{
myIntNumber = Integer.parseInt(myNumber);
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"異常");
leave = true;
}
}catch(NullPointerException e){
JOptionPane.showMessageDialog(null,"拜拜");
}
if(!leave){
//電腦隨機猜一次,生成一個隨機的數(shù)字
Random randomGenerator= new Random();
int guessNumber = randomGenerator.nextInt(10);
//循環(huán)判斷電腦猜的數(shù)字是大還是小
//定義兩個字符串,提示電腦是猜大了還是猜小了。
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;
}
/**
* 二分法猜數(shù)字
*/
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;
}
}
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,也分享給大家:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決spring-cloud-config 多服務(wù)共享公共配置的問題
這篇文章主要介紹了解決spring-cloud-config 多服務(wù)共享公共配置的問題,本文通過多種方法給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下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注解校驗數(shù)據(jù)合法性
這篇文章主要介紹了如何通過自定義spring?invalidator注解校驗數(shù)據(jù)合法性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Spring?RestTemplate遠程調(diào)用過程
這篇文章主要介紹了Spring?RestTemplate遠程調(diào)用過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11

