日行一算(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;
};
什么时候开始都不晚——沃尔舅·硕德