java java猜数字游戏1~100,第一个java实验,求指教。。。。

用Java实现猜数字游戏
题目:编写程序实现一个猜数字游戏:系统随机生成一个100以内的整数,用户根据系统提示来进行猜测,如果猜对,则显示“恭喜”并提示“增加难度,需要继续吗?”,如果用户选择继续则系统随机生成一个1000以内的整数,否则系统退出;如果用户猜错,则显示“错误,请重新输入!”,一旦用户连续5次没有猜中,则系统退出!
以下为源代码,用的选择(if
)比较多,因此自己觉得代码有点累赘,可读性不是很好。希望大家可以多多提意见和建议!
public static void main(String[] args) {
&&// TODO Auto-generated method
S//用来存储随机数
boolean set=//开关变量,用来控制内层while循环
//用来存储随机数
int count=5;//第一次猜测总次数
int ncount=5;//加大难度时的猜测总次数
//用来接收用户猜测的数字
Random ram=new Random();//随机数类的实例化对象
System.out.println("这是一个猜数字游戏,是否继续?请选择:是:Y&&
否:N");//提示用户是否开始
Scanner scn=new Scanner(System.in);
choose=scn.nextLine();
if(choose.equals("Y")||choose.equals("y")){
&ran=ram.nextInt(10);
&System.out.println("已经生成一个0——10之间的随机数,请输入你的猜测:");
&while(count&0&&set==true){
&&user=scn.nextInt();
&&if(user!=ran){
&&&System.out.println("很遗憾,没有猜中,你还有"+(count-1)+"次机会!");
&&&if(user&ran){
&&&&System.out.println("提示:你猜的数字大了!");
&&&&System.out.println("提示:你猜的数字小了!");
&&count--;
&&&System.out.println("太棒了,还要再继续猜吗?会加大难度哦!请选择
:是:Y& 否:N");
&&&choose=scn.next();
&&&if(choose.equals("Y")||choose.equals("y")){
&&&&ran=ram.nextInt(100);
&&&&System.out.println("已经生成一个0——100之间的随机数,请输入你的猜测:");
&&&&while(ncount&0){
&&&&&user=scn.nextInt();
&&&&&if(user!=ran){
&&&&&&System.out.println("很遗憾,没有猜中,你还有"+(ncount-1)+"次机会!");
&&&&&&if(user&ran){
&&&&&&&System.out.println("提示:你猜的数字大了!");
&&&&&&else
&&&&&&&System.out.println("提示:你猜的数字小了!");
&&&&&ncount--;
&&&&&&System.out.println("恭喜你挑战成功,你真的是个天才!");
System.exit(1);
&&&&}&&&&&&&
&&&&System.out.println("你选了不玩高级游戏,系统退出!");
&&&&System.exit(1);
&&&&}&&&&&
&System.out.println("你选择不玩游戏,系统退出!");
&System.exit(1);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。求Java编程个猜数字游戏!任意输入个数根据提示大了或小了直到选对【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:636,432贴子:
求Java编程个猜数字游戏!任意输入个数根据提示大了或小了直到选对收藏
快试试吧,可以对自己使用挽尊卡咯~◆◆
2017java学习来上市公司博为峰学java,入学即签就业协议,不就业不收费,查看java课程!java好学吗?java课程来博为峰学,java工程师就业年薪十几万!
快试试吧,可以对自己使用挽尊卡咯~◆◆
不难,白给吗
快试试吧,可以对自己使用挽尊卡咯~◆◆
哈哈
哥们刚好编了个
import&java.awt.*;
import&java.awt.event.*;
import&javax.swing.*;
import&java.util.*;
public&class&guessNumber&extends&JFrame{&
private&Container&
private&JTextArea&textA
private&JLabel&showA
private&JButton&
private&JTextField&cinGuess,outR
private&GridLayout&gridL
private&JPanel&
public&guessNumber(){
super(&猜数程序&);
container=getContentPane();
gridLayout=new&GridLayout(4,1);
container.setLayout(gridLayout);
textArea=new&JTextArea(&我有一个在0-1000范围内的数字,\n你能猜出来吗?请输你猜的数字&);
textArea.setEditable(false);
container.add(textArea);
//设置panel
panel=new&JPanel();
panel.setBackground(Color.yellow);
panel.setLayout(new&FlowLayout());
showArea=new&JLabel(&请你输入你猜的数字:&);
panel.add(showArea);
//加输入区域
cinGuess=new&JTextField(10);
panel.add(cinGuess);
container.add(panel);
//container.add(cinGuess);
outResult=new&JTextField();
outResult.setEditable(false);
container.add(outResult);
show=new&JButton(&重新开始&);
container.add(show);
//添加监听器
show.addActionListener(
new&ActionListener(){
public&void&actionPerformed(ActionEvent&e){
int&dataRandom=new&Random().nextInt(1001);
String&outString=new&String();
outString=&这个数字是&+String.valueOf(dataRandom);
&if(cinGuess.getText()==outString)
& outString+=&&恭喜你,你猜对了&;
& outResult.setBackground(Color.blue);
& outString+=&&对不起,你猜错了&;
& outResult.setBackground(Color.red);
& outResult.setText(outString);
outResult.setText(outString);
setSize(300,400);
setVisible(true);
}//end&structor
public&static&void&main(String&args[]){
guessNumber&application=new&guessNumber();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
快试试吧,可以对自己使用挽尊卡咯~◆◆
平时还是要自己编写啊
希望这个对你有帮助
快试试吧,可以对自己使用挽尊卡咯~◆◆
JAVA&学习交流&群&
Donde&Voy&Java&I&&已满&
Donde&Voy&Java&Ⅱ&&主要是JAVA&EE&方向(多加这个吧)&
Donde&Voy&Java&III&8270485&数据库&讨论&
Donde&voy&Java&Ⅳ&&JAVA新手群&
本群专属&论坛&
登录百度帐号推荐应用java写的猜数字小游戏,初学新手被卡住了,请教应该怎么写? - 知乎15被浏览1277分享邀请回答public class RobotGuess {
int num=50;//猜的数字
int res;//大了还是小了
int max = 100;//最大值
int min = 0;//最小值
public void guess(){
Scanner sc = new Scanner(System.in);
System.out.println("猜数字开始,大了打1,小了打2,对了打3");
for (int i = 0; i & 10; i++) {
System.out.println("第"+i+"次,是不是"+num+"?");
res = sc.nextInt();
if (res==1) {//大了的话,说明数字最大是num
max = num;
num = min+(num-min)/2;
if (res==2) {
min = num;
num = num+(max-num)/2;
if (res==3) {
public static void main(String[] args) {
RobotGuess r= new RobotGuess();
r.guess();
想了3个月了,这个绝对正确
0添加评论分享收藏感谢收起}

我要回帖

更多关于 用java编写猜数字游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信