用java实现终极密码游戏

本文介绍如何使用Java编程实现一个终极密码游戏。游戏规则是系统随机生成1到100的数字,玩家有8次机会猜测,猜大了提示过大,猜小了提示过小。若输入值不在范围内,机会减2,非数字输入则机会减3。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目要求随机生成1-100的数字,玩家竞猜,如果猜的大于随机数,控制台提示大了;若猜的小于随机数,提示小了。最多只有8次竞猜机会,如果所输入的数据不在1-100范围之内,则减少2次机会,如果输入的不是数字字符,则减少3次机会

代码如下:

import java.util.Random;
import java.util.Scanner;

public class GuessingTest {

	static int  times = 8;
	public static void main(String[] args) {
		
		System.out.println("请输入一个1-100的数字(您最多有8次机会):");
		Scanner sc = new Scanner(System.in);
		Random r = new Random();
		int data = r.nextInt(100)+1;
		
		while(true){
			String dataIn = sc.next();
			boolean b1 = dataIn.matches("[0-9]+");
			boolean b2 = (dataIn.matches("[0-9]{1,2}")&&(!dataIn.equals("0"))) || dataIn.equals("100") ;
			times--;
			
			//输入符合要求
			if(b2 == true){
				int datain = Integer.parseInt(dataIn);
				if((times) <= 0){
					noChance();
				}
				if(datain == data){
					System.out.println("恭喜你,答对了!");
					System.exit(0);
				}else if(datain >data){
					System.out.println("大了,请输小点,您还有"+times+"次机会");
				}else if(datain < data){
					System.out.println("小了,请输大点,您还有"+times+"次机会");
				}
			}
			
			//输入字符不符
			if(b1 == false){
				times=times-3;
				if((times) <= 0){
					noChance();
				}
				System.out.println("您输入不符要求,机会减3次,您还有"+times+"次机会,请重新输入:");
			}
			
			//输入数字但不在1-100之内
			if(b1 == true && b2 == false){
				times=times-2;
				if((times) <= 0){
					noChance();
				}
				System.out.println("你的输入不在1-100之间,机会减2次,您还有"+times+"次机会,请重新输入:");
			}
		}
	}
	
	public static void noChance(){
			System.out.println("您已经没有机会了!");
			System.exit(0);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值