用JAVA语言编写一个“猜数字游戏”的程序

要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所猜的次数和评语。急需可以一直猜直到猜中为止,最好是可以用界面实现... 要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所猜的次数和评语。
急需
可以一直猜直到猜中为止,最好是可以用界面实现
展开
 我来答
大野瘦子
高粉答主

推荐于2019-11-09 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.5万
展开全部

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() 括号中的条件表达式,当用户猜测的数和系统生成的数字不相等时,就需要继续循环。

百度网友16ee7ec98
推荐于2017-04-22 · TA获得超过1117个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:395万
展开全部
package test;
import java.util.Scanner;
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
int b = (int) (Math.random()*10+1);
Scanner input=new Scanner(System.in);
System.out.println("请输入1个10以内的数字:");
int a = input.nextInt();
int i=1;
while( a != b && i<10)
{
System.out.println(a>b?"大了":"小了");
System.out.println("请输入1个10以内的数字:");
a = input.nextInt();
i++;
}
String s = "";
if(i<2)
{
s="你猜对了,你是牛人";
}else if(i<5)
{
s="你猜对了,你的成绩不错";
}else s="10次都猜不中你是脑残";
System.out.println("结果是:"+b+"你猜的次数为:"+i+","+s);
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lemon190086
2009-11-19 · TA获得超过110个赞
知道小有建树答主
回答量:354
采纳率:0%
帮助的人:126万
展开全部
import java.awt.Component;
import java.util.Random;

import javax.swing.JOptionPane;

public class Test {

public static int checkNum(int num) {
int _num = new Random().nextInt(20);
System.out.println("正确答案:"+_num);
if(num == _num) return 1;
else if(num>_num) return -1;
else return 0;
}
public static void main(String[] args) {
try {
String str = JOptionPane.showInputDialog("猜数游戏", "请输入您所猜的数字:");
int n = Integer.valueOf(str);
int num = checkNum(n);
switch (num) {
case 1:
JOptionPane.showMessageDialog(null, Component.SOMEBITS, "回答正确", 1);
break;
case -1:
JOptionPane.showMessageDialog(null, "您猜大了");
break;
default:
case 0:
JOptionPane.showMessageDialog(null, "回答小于答案");
break;
}
}catch(Throwable t) {
JOptionPane.showMessageDialog( null, "请输入数字");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rabbit凌陌默
2020-01-02
知道答主
回答量:1
采纳率:0%
帮助的人:665
展开全部
猜0-100的数
public class Use {
String[] name = new String[5];//保存注册的用户名
String[] pad = new String[5];//保存注册的密码
String fName;//用户名
String fPassword;//密码
boolean fond = false;
boolean con = false;
int i = 0;
int[] number = new int[5];//猜的数字
int count = 0;//次数
int random = (int) (Math.random() * 100) + 1;//随机数
Scanner input = new Scanner(System.in);
int select;//选择

//首页的方法
public void souYe() {
System.out.println("*****欢迎进入猜数字游戏*******");
System.out.println("1.注册\n2.登录\n3.退出游戏");
System.out.println("请选择你要的操作:");
String no = input.next();
switch (no) {
case "1":
login();
break;
case "2":
register();
break;
case "3":
System.out.println("停止游戏");
break;
default:
System.out.println("选择输入无效");
break;
}
}

//实现注册功能
public void login() {
System.out.println("****游戏>注册****");
for(i=3;i>=0;i--){
System.out.print("请输入用户名:");
name[i] = input.next();
System.out.print("请输入密码:");
pad[i] = input.next();
if (name[i].length() >= 6 && name[i].length() <= 10 && pad[i].length() >= 6) {
System.out.println("注册成功,用户名是"+name[i]+",密码为"+pad[i]);
break;
} else {
System.out.println("用户名长度在6-10之间,密码不能小于6位,");
System.out.println("请重新输入:");
}
}
fond = true;
System.out.println("是否返回上一层?(1.是/2.否)");
select = input.nextInt();
if (select == 1) {
souYe();
}
}

//实现登录功能
public void register() {
for(int i=0;i<3;i++){
System.out.println("****游戏>登录****");
System.out.print("请输入用户名:");
fName = input.next();
System.out.print("请输入密码:");
fPassword = input.next();
if (fName.equals(name[i]) && fPassword.equals(pad[i])) {
System.out.println("登录成功");
game();
} else {
System.out.println("用户名或密码错误");
System.out.println("请重新输入:");
}
}
con = true;
System.out.print("是否返回上一层?(1.是/2.否)");
select = input.nextInt();
if (select == 1) {
souYe();
}
}

//开始游戏
public void game() {
System.out.println("*****欢迎您进入猜数字游戏****");
for (count = 5; count>=0; count--) {
System.out.println("这里是1-100的数字,请输入你猜的答案:");
Scanner input = new Scanner(System.in);
number[i] = input.nextInt();
if (number[i] < random) {
System.out.println("您猜的数是" + number[i] + "" + "***猜小了***");
} else if (number[i] > random) {
System.out.println("您猜的数是" + number[i] + "" + "***猜大了***");
}else if(number[i]==0){
System.out.println("游戏终止");
}else if(number[i]>100&&number[i]<0){
System.out.println("超出猜数范围。");
}

else{
System.out.println("您猜的数是" + number[i] + "恭喜你,猜对了,你真棒。");
break;
}
System.out.println("您还有" + count+ "次机会");
System.out.print("是否继续?(1.是/2.否)");
int no = input.nextInt();
if (no == 1) {
if ((count - i) == 0) {
System.out.println("很遗憾,你没有机会了,正确数字是:" + random);
System.out.println("是否返回上一层?(1.是/2.否)");
select = input.nextInt();
if (select == 1) {
souYe();
}
} else {
System.out.println("游戏结束,谢谢使用。");
break;
}
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-02-24
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式