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();

		// 如何设置行距离和列距离

	}
}

03-01自顶向下风格_编程

时间: 2024-10-13 11:41:42

03-01自顶向下风格_编程的相关文章

编程算法基础-3.1自顶向下风格

第三讲 风格与模式 3.1自顶向下风格 复杂问题分解,直到小问题足够简单,能够掌控为止 是一种思考方式 把大的任务不断的分解为更小的子任务 还有一法宝:忽略,忽略细节 程序问题 制定框架--->逐步细化--->逐步精华--->分解为子问题 打印特定的形状 做一个二维数组的缓冲区 向缓冲区输出 缓冲区输出屏幕上 数组初始元素都是0 表格:横线.竖线. /* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

Golang在Linux环境下的POSIX风格socket编程

这里给出一个服务端和客户端,服务端可以接受多个连接,并且利用Go的杀手特性go和channel来替代select进行数据的接收. 服务端: package main import ( "fmt" . "syscall" ) func RecvRoutine(sockfd int, session chan string) { var buffer []byte = make([]byte, 3000) for { if length, err := Read(soc

RSLogix5000 v20.01 CN-ISO 1DVD可编程控制软件

FEI.Avizo.v9.0.1.Linux.X64 1DVD FIDES-DV.FIDES.BearingCapacity.v2015.050 1CD Power ProStructures V8i v08.11.11.616 1DVD Delcam.PowerINSPECT.2015.R2.SP1.Win32_64 1DVD FEI.Avizo.v9.0.1.MACOSX 1DVD Graitec.OMD.2015.Repack 1DVD Mastercam X9 v18.0.14020.0

03-02自底向上风格_模拟游戏

模拟游戏 模拟井字棋游戏 九个格子中双方轮流落子. 其中一方画x符号,另一方画o符号. 开始时,9个格子都是空的. 程序显示当前局面,提示某一方输入落子位置,然后显示局面,再提示另一方. 当某方棋子连成直线,该方获胜! 例如: 初始: _ _ _ _ _ _ _ _ _ o 输入位置: 1,1 o _ _ _ _ _ _ _ _ x 输入位置: 2,2 o _ _ _ x _ _ _ _ 当某一方出现了3个棋子连成直线或对角线,则该方获胜 标准答案: import java.util.*; cl

03-03测试驱动风格_设计程序

设计程序 在编写图形界面软件的时候,经常会遇到处理两个矩形的关系. 如图[1]所示,矩形的交集指的是:两个矩形重叠区的矩形,当然也可能不存在(参看[2]).两个矩形的并集指的是:能包含这两个矩形的最小矩形,它一定是存在的. 本题目的要求就是:由用户输入两个矩形的坐标,程序输出它们的交集和并集矩形. 矩形坐标的输入格式是输入两个对角点坐标,注意,不保证是哪个对角,也不保证顺序(你可以体会一下,在桌面上拖动鼠标拉矩形,4个方向都可以的). 输入数据格式: x1,y1,x2,y2 x1,y1,x2,y

什么是dandy 风格_百度知道

什么是dandy 风格_百度知道 什么是dandy 风格    2010-06-21 10:56 平ping123 | 分类:服装/首饰 | 浏览11257次    题谢谢    有没有比较准确文意思    扫描二维码下载    下载知道APP    10分钟有问必答!    建议:可使用微信的"扫一扫"功能扫描下载    分享到:    2010-06-21 23:08 提问者采纳    Dandy含义    dandy词查查字典我们看下解释:    n    1. 好时髦男子;花花

使用 COM 风格的编程接口

使用COM 风格的编程接口 假设不直接使用 COM 库.不创建自己的包装.那么更可能的是使用 COM 风格的编程接口.这是由于如今很多开发商公布应用程序时.提供了首选的互操作程序集(Primary Interop Assemblies).这是预先创建的 COM 包装,因此,我们就不须要再自己考虑用 TlbImp.exe 来创建包装了. 注意 很多其它有关首选的互操作程序集的内容.能够在 MSDN 上找到.http://msdn.microsoft.com/en-us/library/aax7sd

03-06组合与聚合_编程

编程 请使用组合或聚合模式解决如下问题: 已知有如下类: // 可以把公历转换为中国农历的日期表达. class ChinaDate { public ChinaDate(java.util.Date d) { //... } public toString() { // 复杂算法 return "五月初三"; //仅仅是模拟,实际上需要复杂计算过程 } } 请写一个 MyDate类,要求具有Date类的全部能力(已废弃功能不计),并且在打印时,输出类似如下格式: 1998年6月8日(

盼来的仓促果实?腾讯官方Android QQ详测(2010-04-01 03:01)

1 腾讯Android QQ评测;现状与登陆体验 前言: 腾讯QQ估计没有什么网友不认识它,但是它在手机平台上的发展并没有如电脑应用版本更新得那么积极,一个塞班S60 v5的QQ足够吊人胃口.时至近日,腾讯低调地发布了QQ for Android Beta 1.0版(也许正是忙于Android而忽略塞班S60 v5).作为官方御用的版本,让人等待了近一年的时间,过程中"民间"也悄然出现了不少相对完美的QQ版本,如aQQ.WebQQ等.腾讯方面如是说:"腾讯公司针对日渐增多的A