这位朋友,我给你写出来了,我觉得猜数字挺好写的,产生不同的数这个倒是有点难点,我定义了一个填充数组的函数,实现了这个功能。不过5分确实有点少,你自己看看吧。
米东网站建设公司成都创新互联,米东网站设计制作,有大型网站制作公司丰富经验。已为米东上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的米东做网站的公司定做!
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Arrays;
public class GuessNum extends JFrame implements ActionListener{
JTextField jtf=new JTextField(16);
JButton b1=new JButton("确定"),b2=new JButton("重玩一局"),b3=new JButton("看答案");
JLabel jl1=new JLabel("请输入四个不同数字:"),jl2=new JLabel(" ");
int[] right=new int[4];
int count=0,A,B;
public GuessNum(){
super("猜数字");
fill(right,9);
setLayout(new FlowLayout(FlowLayout.CENTER));
add(jl1);add(jtf);add(jl2);add(b1);add(b3);add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(330,250);
setVisible(true);
}
public void fill(int[] a,int b){//给数组填充不同的1到b的数字
for(int i=0;ia.length;i++){
a[i]=(int)(Math.random()*b+1);
while(true){
if(in_it(a[i],a,i))a[i]=(int)(Math.random()*b+1);
else break;
}
}
}
public boolean in_it(int num,int[] before,int n){//判断num是否在数组before的前n项内
for(int i=0;in;i++)
if(num==before[i])return true;
return false;
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==b1){
count++;
String s=jtf.getText();
if(s.length()!=4)jl2.setText("格式错误");
else {
A=0;B=0;
for(int i=0;i4;i++)
for(int j=0;j4;j++)
if((s.charAt(i)-'0')==right[j])
{
if(i==j)A++;
else B++;
}
if(A==4){jl2.setText("RIGHT!猜了"+count+"次");
count=0;
}
else jl2.setText("提示:"+A+"A"+B+"B");
}
}
if(e.getSource()==b2){
fill(right,9);
jtf.setText("");
jl2.setText(" ");
}
if(e.getSource()==b3){
jl2.setText(Arrays.toString(right));
}
}
public static void main (String[] args) {
new GuessNum();
}
}
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;
}
}
}
}
}
please tell me your q-number,so I can send it by q.
int num = (int)(Math.random()*100)+1;
Scanner sc = new Scanner(System.in);
int guessNum = -1;
while (guessNum != num) {
System.out.println("请输入1-100之间整数");
guessNum = sc.nextInt();
if (guessNum == num) {
System.out.println("中啦");
} elseif (guessNum num) {
System.out.println("小啦");
} else {
System.out.println("大了");
}
}
扩展资料:
编写思路
1、成1-100之间随机数
(int)(Math.random()*100)+1;
提示用户输入数字,
Scanner sc=new Scanner(System.in);
int guessNum = sc.nextInt();
需要将随机数和用户输入的数字进行比较。
猜一次:
Scanner sc = new Scanner(System.in);
int num = (int)(Math.random()*100)+1;
System.out.println("请输入0-100之间整数");
int guessNum = sc.nextInt();
if (guessNum == num) {
System.out.println("中啦");
} elseif (guessNum num) {
System.out.println("小啦");
} else {
System.out.println("大了");
}
二、使用while循环
publicstaticvoid main(String[] args) {
int num = (int)(Math.random()*100)+1;
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入1-100之间整数");
int guessNum = sc.nextInt();
if (guessNum == num) {
System.out.println("中啦");
} elseif (guessNum num) {
System.out.println("小啦");
} else {
System.out.println("大了");
}
}
}
三、最后用while() 括号中的条件表达式,当用户猜测的数和系统生成的数字不相等时,就需要继续循环。
java实现的简单猜数字游戏代码,通过随机数与逻辑判断来实现游戏功能 代码如下: import java.util.InputMismatchException; import java.util.Scanner; public class Main { public static void main(String[] args) { // 产生一个随机数 int n
主要通过随机数与逻辑判断来实现游戏功能
实现代码如下:
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("你输入的数据有误");
}
}
}
int gameNum = num();// 系统生成的四位不重复数字
while(true){
Scanner sc = new Scanner(System.in);// 键盘输入
int userNum = sc.nextInt();
if (gameNum == userNum) {// 如果用户输入等于系统生成,执行下面的代码
System.out.println("恭喜你猜对了O(∩_∩)O哈哈~");
num();// 继续猜下一个游戏
} else if (userNum gameNum) {
System.out.println("数字有点大噢/(ㄒoㄒ)/~~");
} else if (userNum gameNum) {
System.out.println("数字小了点噢(*^__^*) 嘻嘻……");
}
}
}
public static int num() {
ListInteger list = new ArrayListInteger();// 首先建立个list集合
String str = "";
list.add(0);
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
list.add(7);
list.add(8);
list.add(9);
Random rand = new Random();
int a = rand.nextInt(list.size());// 随机获取list下标
for (int i = 0; i list.size(); i++) {// for循环
if (list.get(a) == list.get(i)) {
str = str + list.get(i);// 拼接字符串
list.remove(i);
}
}
int b = rand.nextInt(list.size() - 1);
for (int i = 0; i list.size(); i++) {
if (list.get(b) == list.get(i)) {
str = str + list.get(i);
list.remove(i);
}
}
int c = rand.nextInt(list.size() - 1);
for (int i = 0; i list.size(); i++) {
if (list.get(c) == list.get(i)) {
str = str + list.get(i);
list.remove(i);
}
}
int d = rand.nextInt(list.size() - 1);
for (int i = 0; i list.size(); i++) {
if (list.get(d) == list.get(i)) {
str = str + list.get(i);
list.remove(i);
}
}
int num = Integer.valueOf(str);// String转化成int
return num;
}