猜java数字游戏大全_Java 猜数字游戏

最近学习了Java的基础知识,利用闲暇写了个猜数字游戏。由于对Java还不太熟悉,写的有些简单,尤其抛异常还不太会使用,请大家提意见。下面贴一下代码,也供以后自己修改。

1、Main类,主要是提供一个main函数入口

代码:

public class Main {

public static void main(String args[]){

Operating op = new Operating();

op.logics();

}

}

2、主要的过程处理函数

代码:

import java.util.Random;

import java.util.Scanner;

/**********函数之间的逻辑关系****************/

public class Operating {

public int RAND;

public int USERIN;

public int COUNT;

public int CON_COUNT = 10;//用户每回合猜数,可以猜测次数;

public int last1 = 0;//记录输入时,相对于随机数较小的数;

public int last2 = 100;//记录输入时,相对于随机数较大的数;

public void logics(){

System.out.println("请输入0-100之间的数字!");

COUNT = 0;

randoming();

userInput();

}

/**********随机数生成函数****************/

private void randoming(){

Random rd = new Random();

RAND = rd.nextInt(100);

}

/**********用户输入函数****************/

private int userInput(){

if(COUNT > 0){

System.out.println("请重新输入!");

}

System.out.println("已输入" + COUNT + "次,还能输入" + (CON_COUNT - COUNT) + "次!");

try{

Scanner sc = new Scanner(System.in);

USERIN = sc.nextInt();

}catch(Exception e){

System.out.println("只能输入整数!");

userInput();

}

if(USERIN < 0 || USERIN >100){

System.out.println("您输入的数字超出范围,请重新输入!");

userInput();

return 0;

}

COUNT++;

judgement();

return 0;

}

/**********对用户输入进行判断,是重玩还是继续输入****************/

private int judgement(){

if(USERIN < last1 || USERIN > last2){

System.out.println("您输入的数字超出范围,请重新输入!");

userInput();

return 0;

}

if(RAND == USERIN){

System.out.println("您猜测正确,太聪明了!");

userReset();

return 0;

}

else if(RAND < USERIN){

System.out.println("您猜的数字偏大!" + " 请输入" + last1 + "到" + USERIN + "之间的数!");

last2 = USERIN;

}

else{

System.out.println("您猜的数字偏小!" + " 请输入" + USERIN + "到" + last2 + "之间的数!");

last1 = USERIN;

}

if(COUNT < CON_COUNT){

userInput();

}

else{

System.out.println("猜测次数已完!");

userReset();

}

return 0;

}

/**********重玩函数****************/

private void userReset(){

System.out.println("请输入Y(y)重玩,输入N(n)退出游戏");

Scanner sc = new Scanner(System.in);

String userSelect = sc.nextLine();

try{

if(userSelect.equalsIgnoreCase("y")){

last1 = 0;//记录输入时,相对于随机数较小的数;

last2 = 100;//记录输入时,相对于随机数较大的数;

logics();

}

else if(userSelect.equalsIgnoreCase("n")){

System.out.println("游戏已结束!");

}

}catch(Exception e){

System.out.println("输入字符错误!");

userReset();

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值