日行一算(Table-文字输出)

题目

+---+---+---+
|   |   |   |
+---+---+---+
|   |   |   |
+---+---+---+
|   |   |   |
+---+---+---+

题目描述
上图是一个Mysql查询结果图,我们看到这个表格非常漂亮,只需要使用”+”和”-”两个符号就可以打印,现在你的任务是打印一个n×m的表格我们定义单位长度(水平方向有三个”-”,竖直方向有一个”| ”,”|”对齐”+”)的矩形表格为
解答要求
时间限制:1000ms, 内存限制:100MB
输入
输入只有一行包含两个整数n和m(0<n,m<13)。
输出
输出n×m的表格。

样例
输入样例

1 1
输出样例

+---+
| |
+---+

解题思路

【Java】乐高积木思想:先组零件,后分层搭建(无需循环嵌套,易理解)

public class Main {
    public static void main(String[] args) {      
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        int n = in.nextInt();
        String first = "+";
        String second = "|";
        //1. 组装零件
        for(int i =1;i<=n;i++){
            //组装后零件1,(设n为2):first:+---+---+
            first += "---+";
             // 组装后零件2(设n为2): second:|   |   |;
            second +="   |";
        }
        //2. 用零件1,2分层,循环搭建
        System.out.println(first);
        for(int i=1;i <=m ; i++){
            System.out.println(second+"\n"+first);
        }
    }
}

【JavaScript】 纯字符串 repeat 解法

const buildTable = (n, m) => {
  let str = '';
  let row = `+${'---+'.repeat(m)}`;
  let col = `|${'   |'.repeat(m)}`;
  str += row + `\n${col}\n${row}`.repeat(n);
  return str;
};
posted @ 2022-02-18 10:39  dawa大娃bigbaby  阅读(339)  评论(1编辑  收藏  举报