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

案例 QuickHit:游戏输出字符串

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

学习目标

完成游戏输出字符串

一、需求说明

在控制台输出随机字符串

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

二、思路分析

生成字符串

输出字符串

返回字符串

三、难点提示

Game类中的player属性,代表玩家,查询player的级别号,根据级别号到LevelParam类中获取该级别的字符串长度

字符串长度固定可以通过for循环来实现,而随机内容可以通过获取随机数,而不同随机数对应不同字符来实现    

四、参考代码

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
/**
      * 输出指定级别规定长度的字符串。
      * @return 输出的字符串,用于和用户输入比较
      */
     public String printStr() {
         int strLength = LevelParam.levels[player.getLevelNo() - 1 ].getStrLength();
         StringBuffer buffer = new StringBuffer();
         Random random = new Random();
         // 1、通过循环生成要输出的字符串
         for ( int i = 0 ; i < strLength; i++) {
             // 1.1、产生随机数
             int rand = random.nextInt(strLength);
             // 1.2、根据随机数拼接字符串
             switch (rand) {
             case 0 :
                 buffer.append( ">" );
                 break ;
             case 1 :
                 buffer.append( "<" );
                 break ;
             case 2 :
                 buffer.append( "*" );
                 break ;
             case 3 :
                 buffer.append( "&" );
                 break ;
             case 4 :
                 buffer.append( "%" );
                 break ;
             case 5 :
                 buffer.append( "#" );
                 break ;
             }
         }
         // 2、输出字符串
         System.out.println(buffer);
         // 3、返回字符串用于和玩家输入相比较
         return buffer.toString();
     }

五、测试

1
2
3
4
5
6
7
8
public class Test {
     public static void main(String[] args) {
         Player player = new Player();
         player.setLevelNo( 2 );
         Game game = new Game(player);
         game.printStr();
     }
}




来自为知笔记(Wiz)


你可能感兴趣的:(字符串,center,学习目标)