DB Format show
来源:互联网 发布:ncp1337p各脚电压数据 编辑:程序博客网 时间:2024/06/15 09:13
package com.luoluo.log.database;import java.util.ArrayList;import java.util.List;public class TableInfo{ private int count; private int[] maxLens; private String[] columns; private List<String[]> records; private StringBuilder builder; public TableInfo(int count) { this.count = count; maxLens = new int[count]; columns = new String[count]; builder = new StringBuilder(); records = new ArrayList<>(); } private boolean isValid(String... args) { return null == args || args.length == 0; } private boolean isOutOfIndex(String... args) { return args.length > count; } public boolean addHeader(String... record) { if (isValid(record) || isOutOfIndex(record)) { return false; } copy(columns, record); return false; } public boolean addRecode(String... record) { if (isValid(record) || isOutOfIndex(record)) { return false; } copy(maxLens, record); records.add(record); return false; } public String getInfo() { buildLine(); buildHeader(); buildLine(); buildBody(); buildLine(); return builder.toString(); } private void buildHeader() { builder.append("|"); for (int i = 0; i < columns.length; i++) { builder.append(columns[i]); builder.append(getEmpty(maxLens[i] - columns[i].length())); builder.append("|"); } builder.append("\r\n"); } private void buildBody() { for (String[] recode : records) { builder.append("|"); for (int i = 0; i < recode.length; i++) { builder.append(recode[i]); builder.append(getEmpty(maxLens[i] - recode[i].length())); builder.append("|"); } builder.append("\r\n"); } } private void buildLine() { builder.append("+"); for (int i = 0; i < maxLens.length; i++) { builder.append(getLine(maxLens[i])); builder.append("+"); } builder.append("\r\n"); } private String getLine(int count) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < count; i++) { builder.append("-"); } return builder.toString(); } private String getEmpty(int count) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < count; i++) { builder.append(" "); } return builder.toString(); } private void copy(String[] args1, String... args2) { for (int i = 0; i < args2.length; i++) { args1[i] =args2[i]; } } private void copy(int[] args1, String... args2) { for (int i = 0; i < args2.length; i++) { args1[i] = swap(args1[i], args2[i].length()); } } private int swap(int max, int length) { if (max > length) { return max; } return length; } public static void main(String[] args) { TableInfo info = new TableInfo(5); String[] s0 = { "ID", "Name", "Age", "Number", "Address" }; String[] s1 = { "0000000001", "Aniaoinu", "12", "18700000000", "CN.SH.xxxxxxxxxxxxxxxxxxxxx" }; String[] s2 = { "0000000002", "xxx", "108", "10000000000", "xxxxxx" }; String[] s3 = { "0000000003", "xxx", "18", "1xxxxxxxxxxxxxxxxxxxx", "xx" }; info.addHeader(s0); info.addRecode(s1); info.addRecode(s2); info.addRecode(s3); System.out.println(info.getInfo()); }}
阅读全文
0 0
- DB Format show
- Override the DataGridView to show the Client DateTime format Column
- spfile 、pfile、db启动顺序 SQL> show parameter db_recovery_file_dest_size; SQL> show parameter spfile
- show
- show
- db
- DB
- db
- DB
- db
- DB
- db
- db
- db
- DB
- db
- Db
- DB
- C++之类模板详解(一)
- A.Bit++
- 左连接和右连接
- 第六届蓝桥杯决赛真题 04 穿越雷区(dfs || bfs)
- 阿里云服务器Svn-Server无法连接,阿里云服务器SVNServer配置
- DB Format show
- oracle 和mysql使用上的区别
- 寻找数组中的主元素
- 备考派PMP第十三天
- Mac下hive, spark环境搭建
- ceph存储系统
- appbarlayout+springview+viewpager滑动冲突的问题
- 数字时钟
- (八) Java多线程详解之阻塞队列BlockingQueue及队列优先级详解