Java基础题一:猜数字游戏

功能要求

1.功能:用计算机产生一个 1-100 内的随机数,游戏者进行猜数,猜中即胜,猜不中,提
示是大了还是小了,继续猜,直至猜对为止。游戏结束后给出评语并计算出玩家所用的
时间与所猜的次数。
2.注意点:

  • 欢迎界面:通过这里提供的选项(或按钮),进入游戏界面。
  • 游戏过程:有完备的提示过程,每次提示输入猜测结果时,给出猜测的准确度提示。
  • 游戏结束:可以输入[Y/N]来决定继续玩还是结束游戏。
  • 输入非数值验证。
  • 输入边界值验证(1-100)。

3.出现效果:
在这里插入图片描述
在这里插入图片描述

目录结构

在这里插入图片描述
在这里插入图片描述

代码实现

package suiji;

import java.util.Date;
import java.util.Scanner;

public class SuiJiShu{
    public static void main(String[] args) {
        System.out.println("###########################");
        System.out.println("######欢迎进入猜数字游戏######");
        System.out.println("###########################");

        Scanner sc=new Scanner(System.in);
        Date startTime=new Date();
        int sum=0;
        String judgement="";

        do{
            int rand=(int)(Math.random()*100)+1;
            System.out.println("请输入你猜的数字(1-100):");
            while(sc.hasNextInt()){
                int guss=sc.nextInt();
                sum=sum+1;
                if(guss>rand){
                    System.out.println("你猜的数字太大了");
                    System.out.println("请输入你猜的数字(1-100):");
                }else if(guss<rand){
                    System.out.println("你猜的数字太小了");
                    System.out.println("请输入你猜的数字(1-100):");
                }else{
                    Date endTime=new Date();
                    System.out.printf("你猜对了!你共用了%d次,共计:%d秒\n",sum, (endTime.getTime() - startTime.getTime())/1000);
                    break;
                }
            }
            System.out.println("是否继续来一局游戏?(Y/N):");
            judgement=sc.next();
        }while("y".equals(judgement));
        System.out.println("###########################") ;
        System.out.println("####游戏结束,欢迎再次回来! ####");
        System.out.println("###########################");
    }
}
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java实现1到100猜数字游戏的代码示例: ```java import java.util.Random; import java.util.Scanner; public class GuessNumberGame { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Random random = new Random(); int numberToGuess = random.nextInt(100) + 1; int numberOfTries = 0; boolean win = false; System.out.println("欢迎来到猜数字游戏!"); System.out.println("游戏规则:猜一个1到100之间的数字,看看你能否猜中!"); while (!win) { System.out.print("请输入你猜测的数字:"); String input = scanner.nextLine(); // 验证输入是否为数字 if (!input.matches("\\d+")) { System.out.println("请输入数字!"); continue; } int guess = Integer.parseInt(input); numberOfTries++; if (guess < numberToGuess) { System.out.println("你猜的数字太小了,请再试一次!"); } else if (guess > numberToGuess) { System.out.println("你猜的数字太大了,请再试一次!"); } else { win = true; System.out.println("恭喜你,猜对了!"); System.out.println("你猜了" + numberOfTries + "次。"); if (numberOfTries <= 5) { System.out.println("你真是个天才!"); } else if (numberOfTries <= 10) { System.out.println("不错哦,继续加油!"); } else { System.out.println("要不再试一次?"); } System.out.print("是否继续游戏?[Y/N]"); String choice = scanner.nextLine(); if (choice.equalsIgnoreCase("N")) { System.out.println("游戏结束,再见!"); break; } else { numberToGuess = random.nextInt(100) + 1; numberOfTries = 0; win = false; } } } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值