看一下这张各种盒子的ascii艺术图:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | | |
| | +----------------+ | | | |
| | | | | +-------+ |
| | | | | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
每个框的垂直部分(|
)均用竖线表示,水平部分(-
)则用短划线表示,拐角处用加号(+
)表示。
该图还显示了其他框内的框。我们称该盒子的图层中包含一个盒子的盒子数。再次显示该图,其中每个框的层都带有注释:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | 1 | |
| | +----------------+ | | | |
| | | | | 0 +-------+ |
| | | 2 | 1 | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | 1 | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
您的程序将以类似于顶部的方框图形式作为输入。作为输出,您的程序应输出带有以下内容的框图:
- 第0层上的框应填充字符
#
(注意:第0层上将永远只有一个框); - 第1层的框应填充字符
=
; - 第2层的框应填充字符
-
; - 第3层的框应填充字符
.
; - 请勿填充第4层及以上的框。
示例输入的输出如下所示:
+--------------------------------------------------------------+
|##############################################################|
|###+-------------------------------+##########+-------+#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|=====+----------------+========|##########|=======|#######|
|###|=====|----------------|========|##########+-------+#######|
|###|=====|----------------|========|##########################|
|###|=====|----------------|========|##########+-------+#######|
|###|=====+----------------+========|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###+-------------------------------+##########+-------+#######|
|##############################################################|
+--------------------------------------------------------------+
这是另一个显示第3、4和5层的输入和输出。请注意,顶部的水平线非常靠近。在这些情况下,没有足够的空间来填充任何字符。
+-----------------------------------------------------------------------+
| +--------------------------------------------------------------+ |
| | +-----------------------------------------------------+ | |
| | | +-----------------------------------------+ | | |
| | | | +---------------------------+ | | | |
| | | | | +-------------+ | | | | |
| | | | | | | | | | | |
| | | | | +-------------+ | | | | |
| | | | +---------------------------+ | | | |
| | | | | | | |
| | | +-----------------------------------------+ | | |
| | | | | |
| | | | | |
| | +-----------------------------------------------------+ | |
| | | |
| +--------------------------------------------------------------+ |
| |
| |
| |
+-----------------------------------------------------------------------+
输出:
+-----------------------------------------------------------------------+
|#####+--------------------------------------------------------------+##|
|#####|======+-----------------------------------------------------+=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........| | | |.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|.........................................|-|=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======+-----------------------------------------------------+=|##|
|#####|==============================================================|##|
|#####+--------------------------------------------------------------+##|
|#######################################################################|
|#######################################################################|
|#######################################################################|
+-----------------------------------------------------------------------+
另一个输入,这次的垂直线也紧靠在一起:
+-------------+
|+-----------+|
|| ||
|| ||
|| ||
|+-----------+|
+-------------+
输出:
+-------------+
|+-----------+|
||===========||
||===========||
||===========||
|+-----------+|
+-------------+
附加条款
- 最外面的盒子周围可能有空白。
- 框的内部宽度或高度不能为0(因此框内始终会有一些空间)
- 同一层上的盒子可以互相接触。
import java.util.Scanner
为import java.util.*