首页 > 代码库 > 03-01自顶向下风格_编程
03-01自顶向下风格_编程
设计程序
在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如:
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
└─┴─┘
其实,它是由如下的符号拼接的:
左上 = ┌
上 = ┬
右上 = ┐
左 = ├
中心 = ┼
右 = ┤
左下= └
下 = ┴
右下 = ┘
垂直 = │
水平 = ─
本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。
例如用户输入:
3 2
则程序输出:
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
├─┼─┤
│ │ │
└─┴─┘
用户输入:
2 3
则程序输出:
┌─┬─┬─┐
│ │ │ │
├─┼─┼─┤
│ │ │ │
└─┴─┴─┘
标准答案:
class MyCell { private char leftUp = ‘┌‘; private char up = ‘┬‘; private char rightUp = ‘┐‘; private char left = ‘├‘; private char center = ‘┼‘; private char right = ‘┤‘; private char leftDown = ‘└‘; private char down = ‘┴‘; private char rightDown = ‘┘‘; private char ver = ‘│‘; private char hor = ‘─‘; private int row = 2; // 行数 private int col = 2; // 列数 public void setRow(int x) { if(row>=1 && row <=20) row = x; } public void setCol(int x) { if(col>=1 && col <=10) col = x; } public void show() { printBeginRow(); //首行特殊 for(int i=0; i<row-1; i++) { printRow1(); // 空格+竖线 printRow2(); // 横线+转角 } printRow1(); printEndRow(); // 末行特殊 } private void printBeginRow() { System.out.print(leftUp); for(int i=0; i<col-1; i++) { System.out.print(hor); System.out.print(up); } System.out.print(hor); System.out.print(rightUp); System.out.println(); } private void printEndRow() { System.out.print(leftDown); for(int i=0; i<col-1; i++) { System.out.print(hor); System.out.print(down); } System.out.print(hor); System.out.print(rightDown); System.out.println(); } private void printRow1() { System.out.print(ver); for(int i=0; i<col; i++) { System.out.print(" "); System.out.print(ver); } System.out.println(); } private void printRow2() { System.out.print(left); for(int i=0; i<col-1; i++) { System.out.print(hor); System.out.print(center); } System.out.print(hor); System.out.print(right); System.out.println(); } } public class PinBiaoGe { public static void main(String[] args) { // 在字符界面用特殊符号拼图形 /* ┌─┬─┐ │ │ │ ├─┼─┤ │ │ │ └─┴─┘ */ MyCell a = new MyCell(); a.setRow(1); a.setCol(1); a.show(); a.setRow(1); a.setCol(4); a.show(); a.setRow(4); a.setCol(1); a.show(); a.setRow(5); a.setCol(5); a.show(); a.setRow(10); a.setCol(18); a.show(); // 如何设置行距离和列距离 } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。