「猜数字小游戏编程java」编写猜数字游戏程序

博主:adminadmin 2022-12-26 19:00:12 65

今天给各位分享猜数字小游戏编程java的知识,其中也会对编写猜数字游戏程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何实现的简单猜数字游戏代码

主要通过随机数与逻辑判断来实现游戏功能

实现代码如下:

import java.util.InputMismatchException;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

// 产生一个随机数

int number = (int) (Math.random() * 100) + 1;

// 加入count

int count = 0;

// 在这里加入最大值,和最小值

int max = 100;

int min = 1;

while (true) {

// 键盘录入数据

Scanner sc = new Scanner(System.in);

System.out.println("请输入你要猜的数据:(" + min + "~" + max + ")");

try {

count++;

int guessNumber = sc.nextInt();

// 判断

if (guessNumber number) {

max = guessNumber;

System.out.println("你猜大了");

} else if (guessNumber number) {

min = guessNumber;

System.out.println("你猜小了");

} else {

System.out.println("恭喜你,花了" + count + "次就猜中了");

// 问是否继续

System.out.println("请问还要继续吗?(yes)");

sc = new Scanner(System.in);

String str = sc.nextLine();

if ("yes".equals(str)) {

// 重写赋值随机数

number = (int) (Math.random() * 100) + 1;

count = 0;

max = 100;

min = 1;

} else {

break;

}

}

} catch (InputMismatchException e) {

System.out.println("你输入的数据有误");

}

}

}

java游戏编程1A2B是一款十分经典的猜数字游戏,每局开始,计算机都会随机生成四个数字?

package com.test;

import java.util.Random;

import java.util.Scanner;

/**

* 我的测试类

*

* @author 刘逸晖

*

*/

public class MyTest {

/**

* 生成不同的正整数随机数,返回字符串数组

*

* @param count

* 需要生成随机数的数量

* @param max

* 随机数的最大值

* @param min

* 随机数的最小值

* @return 生成的随机数

*/

private static String[] generateRandomNumber(int count, int min, int max) {

if (count 0 min -1 max min) {

String[] numbers = new String[count];

Random random = new Random();

// 生成随机数。

for (int i = 0; i numbers.length; i++) {

numbers[i] = min + random.nextInt(max - min) + "";

}

// 检查是否存在重复的随机数。

int equalIndex = areEqual(numbers);

while (equalIndex != -1) {

numbers[equalIndex] = min + random.nextInt(max - min) + "";

equalIndex = areEqual(numbers);

}

return numbers;

} else {// 参数不合法。

return null;

}

}

/**

* 判断字符串数组中的元素是否存在相等的

*

* @param array

* 预判断的数组

* @return 如果数组中有相等的元素,返回其下标;如果数组中没有相等的元素,或数组为空返回-1

*/

private static int areEqual(String[] array) {

if (array != null array.length 0) {

// 将数组中的每一个成员与其之前的所有成员进行比较,判断是否有相等的。

for (int current = 0; current array.length; current++) {

// 将当前便利的数组成员与其之前的所有成员进行比较,判断是否有相等的。

for (int previous = 0; previous current; previous++) {

if (array[current].equals(array[previous])) {

return previous;

}

}

}

}

return -1;

}

/**

* 搜索字符串数组

*

* @param array

* 数组

* @param value

* 预搜索的值

* @return 如果数组中有成员的值与预搜索的值相等返回成员下标,否则返回-1

*/

private static int search(String[] array, String value) {

if (array != null array.length -1 value != null) {

for (int i = 0; i array.length; i++) {

if (array[i].equals(value)) {

return i;

}

}

}

return -1;

}

public static void main(String[] args) {

System.out.println("欢迎你来到1a2b,输入n退出,输入y重新开始");

System.out.println("系统会随机产生4个0到9之间不同的数字,请你来猜");

System.out.println("输出a不仅代表你猜中了,还代表你猜对它的位置了哦!\r\n输出b则代表你猜中了,但位置不对哦");

// 开始循环,一次循环代表一局游戏。一局结束后立刻开启下一局。

while (true) {

System.out.println("新的一局开始了!");

// 产生随机数。

String[] randomNumbers = generateRandomNumber(4, 0, 9);

Scanner scanner = new Scanner(System.in);

// 创建变量存放输入记录。

String[] records = new String[] { "", "", "", "" };

// 创建变量存放ab结果。

String result = "";

// 请用户输入4次值。为什么请用户输入4次?因为数组中有4个成员。

for (int i = 0; i randomNumbers.length; i++) {

// 获得输入的值。

String inputValue = scanner.nextLine();

// 判断是否需要退出。

if (inputValue.equals("n") || inputValue.equals("")) {

System.out.println("Goodbye");

return;

}

// 创建变量定义是否忽略本次输入。

boolean ignore = false;

// 判断是否需要重新开始。

if (inputValue.equals("y")) {

ignore = true;

i = randomNumbers.length;

}

// 判断是否重复输入。

for (String record : records) {

if (inputValue.equals(record)) {

ignore = true;

i--;

System.out.println("这个值你已经输入过了哦!\r\n在给你一次机会。");

continue;

}

}

if (ignore) {

continue;

}

// 对输入的值进行搜索。

int searchResult = search(randomNumbers, inputValue);

// 如果搜索到了相关的值。

if (searchResult -1) {

// 记录。

records[i] = inputValue;

// 不仅搜索到了输入的值,并且位置正确。

if (searchResult == i) {

result = result + "a";

System.out.println("a");

} else {// 搜索到了输入的值,但位置错误。

result = result + "b";

System.out.println("b");

}

} else {// 输入错误。

System.out.println("这里没有这个值哦!\r\n再给你一次机会!");

i--;

}

}

System.out.println(result);

}

}

}

用Java编程实现一个猜数字的游戏:系统随机产生一个1~100的数字,然后让玩家猜测这个数字,如果玩家猜错,

1.int num = (int)(Math.random()*100+1);//随机得出一个1~100的数

2.用一个变量去接收玩家输入的数,例如int i;

3.用if语句,当玩家输入的数与随机数相等时(i==num),则输出语句(恭喜你猜对了).

4.用else写出猜错是的语句.

大致思路就是这样.建议你自己去写,只有自己写过才会懂.如有不懂的M我,本人也在学习中,大家可以相互讨论讨论.另外你可以把数字设置成1~10;这样的话比较容易出现猜对的情况,方便你验证程序是否正确,然后再改成1~100;

最后在说下Math.random(),这个方法得到是一个0~1之间的随机小数(不包括1但包括0),所以(0~1)*100=0~100(但是不包括100),然后+1就得出1~100了;因为Math.random()是个小数所以用int强转.

java 用图形化界面编写一个猜数游戏

效果图

一个比较简单的代码, 供参考 ,可以根据自己的需求, 在进行修改

import javax.swing.*;

import javax.swing.border.*;

import java.awt.*;

import java.awt.event.*;

public class GuessNumFrame extends JFrame {

private JPanel contentPane;

private int num;

private final JTextField jtfInput;

private final JLabel label;

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

GuessNumFrame frame = new GuessNumFrame();

frame.setVisible(true);//窗口可见

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

public GuessNumFrame() {

setTitle("猜数字");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(360, 160);//窗口大小

setLocationRelativeTo(null);//居中

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);

JPanel panel_1 = new JPanel();

contentPane.add(panel_1, BorderLayout.CENTER);

panel_1.setLayout(new GridLayout(3, 1, 0, 0));

JPanel panel = new JPanel();

panel_1.add(panel);

JButton jbNum = new JButton("得到一个随机数");

panel.add(jbNum);

JPanel panel_2 = new JPanel();

panel_1.add(panel_2);

label = new JLabel("");

label.setOpaque(true);

label.setBackground(Color.CYAN);

panel_2.add(label);

JPanel panel_3 = new JPanel();

panel_1.add(panel_3);

jtfInput = new JTextField();

panel_3.add(jtfInput);

jtfInput.setColumns(10);

JButton jbOk = new JButton("确定");

panel_3.add(jbOk);

jbNum.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

num = (int)(Math.random()*10);//生成随即数

label.setText("随机数已经生成范围0~9");

System.out.println(num);

}

});

jbOk.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int x;

try {

x = Integer.parseInt(jtfInput.getText());//取得输入框的数字 进行比较

}catch (Exception e1) {

                                    JOptionPane.showMessageDialog(null, "sorry,输入错误!");

                             return;

}

if(x==num){

JOptionPane.showMessageDialog(null, "厉害,猜对了~!"); 

}else if(xnum){

JOptionPane.showMessageDialog(null, "你猜小了", "提示",JOptionPane.WARNING_MESSAGE);

}else if(xnum) {

JOptionPane.showMessageDialog(null, "你猜大了", "提示",JOptionPane.WARNING_MESSAGE);

}

}

});

}

}

猜数字游戏0-1000之间,用JAVA编程

这简单,代码如下,这是我用记事本写的,没运行过可能有点问题,你修改下就可以了,创建个类以Number 命名,然后直接复制粘贴就可以了。希望能帮到你!import java.util.Scanner;public class number { public static void main(String[] args) {do{

int i = 0; int random = (int) (Math.random() * 1000);

System.out.println("我心里有一个0到1000之间的整数,你猜是什么?");

for (i = 0; i 20; i++) {

Scanner input = new Scanner(System.in);

int f = input.nextInt();

if(frandom){

System.out.println("大了点,再猜!");

} else if (f random ){

System.out.println("小了点,再试试!");

} else if (f == random i == 1){

System.out.println("猜对了!\n"+"你太有才了!");

} else if (f == random i = 2 i = 6) {

System.out.println("猜对了!\n"+"这么快就猜出来了,很聪明!");

} else if (f == random i = 7){

System.out.println("猜对了!\n"+"猜了半天才猜出来,老大,你尚需努力啊!"); System.out.println("你要继续吗?(yes / no)"); answer=input.next();}

} while(answer.equals("yes")); } }}

Java猜数字游戏

import java.util.Random;

import java.util.Scanner;

/*

* 游戏随即给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终退出答案。在游戏过程中。记录你最终猜对时所需要的次数。游戏结束后公布结果。见下

次数 结果

1 你太有才了!

2~6 这么快就猜出来了,很聪明么!

大于7 猜了半天才猜出来,小同志,尚需努力啊!

*/

public class guessGame {

/**

* @param args

*/

public static void main(String[] args) {

int gameValue = (int)(Math.random()*(100-1)+1);

System.out.println("Rand:"+gameValue);

Scanner sc = new Scanner(System.in);

System.out.println("请输入一个数字");

int num = sc.nextInt();

int guessCorrectNum=1;

while(true){

if(num==gameValue){

if(guessCorrectNum == 1)

System.out.println("你太有才了!");

else if((guessCorrectNum =2) (guessCorrectNum=6))

System.out.println("这么快就猜出来了,很聪明么");

else if(guessCorrectNum 7)

System.out.println("猜了半天才猜出来,小同志,尚需努力啊!");

break;

}

else{

if (guessCorrectNum =20){

guessCorrectNum = guessCorrectNum + 1;

num = sc.nextInt();

}

else{

System.out.println("20次都猜不出来...,不让你猜了");

break;

}

}

}

}

}

猜数字小游戏编程java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编写猜数字游戏程序、猜数字小游戏编程java的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。