跟王老师学Java三大特性(三):案例 QuickHit:确认输入并输出结果

案例 QuickHit:确认输入并输出结果

主讲教师:王少华   QQ群号:483773664

学习目标

完成Game类中的printResult方法的编写

一、需求说明

确认用户输入并输出结果

二、思路分析

  1. 确认玩家输入是否正确
  2. 如果输入不正确,则直接输出错误信息并退出程序
  3. 如果输入正确

    如果超时,则直接输出错误信息并退出程序

    如果不超时

    计算玩家当前积分

    计算 玩家已用的时间

    输出当前玩家的级别、当前积分、已用时间;

  4. 判断用户是已经闯过最后一关并处理

三、参考代码


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

/**

     * 判断玩家输入是否正确,并输出相应结果信息。

     * @param out 游戏输出的字符串

     * @param in 玩家输入的字符串

     */

    public void printResult(String out, String in) {

        boolean flag;

        if (out.equals(in)) {

            flag=true;

        } else {

            flag=false;

        }

        // 1、 如果输入正确

        if (flag) {

            lo

跟王老师学Java三大特性(三):案例 QuickHit:确认输入并输出结果

时间: 2024-12-19 15:50:30

跟王老师学Java三大特性(三):案例 QuickHit:确认输入并输出结果的相关文章

跟王老师学Java三大特性(一):案例 QuickHit:需求分析

项目案例:QuickHit:需求分析 主讲教师:王少华   QQ群号:483773664 学习目标 学会用面向对象思想来进行需求分析 一.需求 根据输入速率和正确率将玩家分为不同级别 级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高 规定时间内完成规定次数的输入,正确率达到规定要求,则升级 玩家最高级别为6级.初始级别一律为1级 用户错误输入一次,游戏结束 二.面向对象分析 (一) 发现类 玩家(Player)类 游戏(Game)类 级别(Level)类 (二)发现类的属性 1.玩家

跟王老师学Java三大特性(二):案例 QuickHit:游戏输出字符串

案例 QuickHit:游戏输出字符串 主讲教师:王少华   QQ群号:483773664 学习目标 完成游戏输出字符串 一.需求说明 在控制台输出随机字符串 二.思路分析 生成字符串 输出字符串 返回字符串 三.难点提示 Game类中的player属性,代表玩家,查询player的级别号,根据级别号到LevelParam类中获取该级别的字符串长度 字符串长度固定可以通过for循环来实现,而随机内容可以通过获取随机数,而不同随机数对应不同字符来实现 四.参考代码 1 2 3 4 5 6 7 8

跟王老师学Java三大特性(四):案例 QuickHit:玩家玩游戏

案例 QuickHit:玩家玩游戏 主讲教师:王少华   QQ群号:483773664 学习目标 完成Player类中的play方法 一.需求说明 玩家玩游戏 二.思路分析 创建Game对象并传入player属性: 外层循环(循环次数是6,每循环一次玩家级别升一级) 晋级: 积分清零.计时清零: 内层循环(循环次数是该级别的strTime,每循环一次完成一次人机交互) 游戏输出字符串: 玩家输入字符串: 游戏判断玩家输入并输出相应结果. 三.参考代码 1 2 3 4 5 6 7 8 9 10 1

跟王老师学反射(二):Java类的加载、连接和初始化

跟王老师学反射(二):Java类的加载.连接和初始化 主讲教师:王少华   QQ群号:483773664 学习内容: 了解类的加载.连接和初始化 一.类的生命周期 当我们编写一个java的源文件后,经过编译会生成一个后缀名为class的文件,这种文件叫做字节码文件,只有这种字节码文件才能够在java虚拟机中运行,java类的生命周期就是指一个class文件从加载到卸载的全过程.一个java类的完整的生命周期会经历加载.连接.初始化.使用.和卸载五个阶段,当然也有在加载或者连接之后没有被初始化就直

跟王老师学反射(三):Class类:获得Class对象

跟王老师学反射(三):Class类:获得Class对象 主讲教师:王少华   QQ群号:483773664 学习内容 掌握获得Class对象的三种方式 理解这三种方式的区别 一.获得Class对象 前面我们已经领略了反射的魅力了,我们知道,利用反射的关键是要获得"图纸"Class对象,那么怎么获得这个Class对象呢!!! 每个类被加载之后,系统会为该类生成一个对应的Class对象,通过该Class对象就可以访问JVM中的这个类.Java程序获得Class对象有如下三种方式: (一)调

跟王老师学枚举(三):枚举类API

跟王老师学枚举(三):枚举API 主讲教师:王少华   QQ群号:483773664 一.枚举类API Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法.常用方法: name():返回此枚举常量的名称 ordinal():返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零 valueof(Class enumClass, String name):返回带指定名称的指定枚举类型的枚举常量 valueof(String name):返回带指定

跟王老师学注解(三):元注解

跟王老师学注解(三):元注解 主讲教师:王少华   QQ群号:483773664 元注解,是用来修饰其他的注解定义.java.lang.annotation包下提供了4个元注解,分别是@Target注解.@Retention注解.@Documented注解以及@Inherited注解. 一.@Target (一)简介 用于指定被修饰的注解能用于修饰哪些程序元素 @Target注解类型有唯一的value作为成员变量,value的类型为java.lang.annotation.ElementType

跟王老师学集合(十一)java中Comparator的用法

Java中Comparator的用法 主讲人:王少华  QQ群号:483773664 在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package chapter07_11; public class Person {     private int a

跟王老师学多态(三) 父类到子类的转换和instance of运算符

父类到子类的转换和instanceof运算符 主讲教师:王少华 QQ群号:483773664 学习目标: 1)   父类与子类转换:向下转换 2)   掌握instanceof运算符的使用 一.  问题:实现主人与宠物的玩耍功能 (一)   需求: 和狗玩接飞船游戏,狗的健康值减少10,与主人亲密度增加5 和企鹅玩游泳游戏,企鹅的健康值减少10,与主人亲密度增加5 (二)   实现思路 1)   给Dog类添加catchingFlyDisc方法,实现接飞盘功能: 2)   给Penguin类添加