用java实现终极密码游戏

来源:互联网 发布:淘宝客申请定向计划 编辑:程序博客网 时间:2024/06/02 00:32

题目要求随机生成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);}}


0 0
原创粉丝点击