作者: 一切都来得及yes | 来源:发表于2018-08-12 21:50 被阅读0次

    一、分析过程

    1. 编写一个类生成道路网格
      1) 根据输入的行和列生成道路网格(数组)
      2) 根据get方法获取道路网格数组
    
    2. 通过静态方法获取渲染网格
      1)传入道路网格做参数
      2)根据道路网格array[i][j].equals("[R]")生成渲染网格
    
    3.输入行和列
      1)行和列小于等于0是,重新输入
    
    4.输入字符串
      1)判断字符串是否输入的是无效数字
              输入除了,;空格 - 和数字以外的数值,字符串无效,重新输入
      2)判断字符串是否按指定格式输入
              对字符串按“;”分割生成字符串数组
              对字符串数组进行正则匹配-?\\d+,-?\\d+ -?\\d+,-?\\d+匹配整数
              匹配成功返回true,匹配错误返回false,重新输入
      3)判断字符串输入的数值是否有效
              分割后返回整数数组
              判断整数数组中的整数满足条件(不能为负数和越界)
              满足条件返回true,不满足条件返回false,重新输入
      4)判断字符串输入的数值是否能够连通
              对分割后的整数数组进行判断
              两个点行相等或者列相等,不相等的行或列相减绝对值等于1
              相邻的两个点才可以连通,不能连通返回false,重新输入
      5)判断字符串成功后对渲染网格进行渲染
              for(int i = 0; i < stringArray.length; i++){
                  a = Util.Mysplit(stringArray[i]);
                  xx1 = ((2*a[0]+1)+(2*a[2]+1))/2;
                  yy1 = ((2*a[1]+1)+(2*a[3]+1))/2;
                  renderGrid[xx1][yy1] = "[R]";
              }
      6)打印渲染网格
    

    二、测试过程

    无效数字测试
    image.png

    1 2
    a,b 3,4;
    Invalid number format.

    字符串格式错误
    image.png

    1 2
    12 34;
    Incorrect command format.

    连通性错误
    image.png

    3 3
    0,1 1,2;
    Maze format error.


    image.png

    2 2
    0,0 1,1;
    Maze format error.

    数字超出预定范围
    image.png

    3 3
    1,2 2,3;
    Number out of range.


    image.png

    2 2
    -1,0 0,1;
    Number out of range.

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/rekszttx.html