画表格在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看)
+-------+------+
|abc    |xyz=tt|
+-------+------+
|hellomm|t2    |
+-------+------+本题目要求设计一个程序,把用户输入的内容用这种“准表格”的方式展现出来。具体的要求是:
用户输入的第一行是一个整数,表示接下来有多少行信息。接下来的每行由若干单元组成。单元间用逗号分开。
程序输出:用表格方式重新展现的输入内容。
例如:用户输入:
cat,dog,good-luck
1,2,5
do not use,,that
则程序输出:(word文档中可能不整齐,拷贝到记事本中看)
+----------+---+---------+
|cat       |dog|good-luck|
+----------+---+---------+
|1         |2  |5        |
+----------+---+---------+
|do not use|   |that     |
+----------+---+---------+
从中不难看出:
两个连续的逗号表示中间有一个内容为空的单元
列的数目由最大的单元数的那行决定
列的宽度由同列的最宽的单元决定
单元格中的信息左对齐可以假设:用户输入的最大行数为30,可能的最多列数为40。
package com.liu.ex8;import java.util.Scanner;public class Main {public void printResult(String[] A) {String[] tempA = A[0].split(",");int maxLen = tempA.length;for(int i = 1;i < A.length;i++) {tempA = A[i].split(",");if(maxLen < tempA.length)maxLen = tempA.length;}String[][] valueA = new String[A.length][maxLen];for(int i = 0;i < valueA.length;i++)for(int j = 0;j < valueA[0].length;j++)valueA[i][j] = "";for(int i = 0;i < A.length;i++) {tempA = A[i].split(",");for(int j = 0;j < tempA.length;j++)valueA[i][j] = tempA[j];}int[] maxJ = new int[maxLen];for(int j = 0;j < maxLen;j++) {for(int i = 0;i < A.length;i++) {if(valueA[i][j].length() > maxJ[j])maxJ[j] = valueA[i][j].length();}}StringBuilder opera = new StringBuilder("+");for(int j = 0;j < maxJ.length;j++) {for(int k = 0;k < maxJ[j];k++)opera.append('-');opera.append('+');}for(int i = 0;i < valueA.length;i++) {System.out.println(opera);System.out.print("|");for(int j = 0;j < valueA[0].length;j++) {int len = maxJ[j] - valueA[i][j].length();String format = "";if(len == 0)format = "" + "%s";else format = "%" + len + "s";System.out.print(valueA[i][j]);System.out.printf(format, "");System.out.print("|");}System.out.println();}System.out.println(opera);return;}public static void main(String[] args) {Main test = new Main();Scanner in = new Scanner(System.in);int n = in.nextInt();in.nextLine();String[] A = new String[n];for(int i = 0;i < n;i++)A[i] = in.nextLine();test.printResult(A);}
}

java实现控制台表格相关推荐

  1. java 读取控制台_Java从控制台读入数据的几种方法总结

    这里记录Java中从控制台读入信息的几种方式,已备后查! (1)JDK 1.4(JDK 1.5和JDK 1.6也都兼容这种方法) public class TestConsole1 { public ...

  2. java 浏览器 excel导出excel_使用Java导出Excel表格并由浏览器直接下载——基于POI框架...

    非异步方法 /** * 使用Java导出Excel表格并由浏览器直接下载--基于POI框架 * * @param response * @return * @throws IllegalAccessE ...

  3. java从控制台读取字符串_从控制台读取Java字符串

    java从控制台读取字符串 Today we will look into different ways to read string from console in java. 今天,我们将研究从J ...

  4. JAVA读取Excel表格,建数据库建表,并生成java实体实例

    转自:https://blog.csdn.net/wuyongde_0922/article/details/43233413 JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇 ...

  5. Java Graphics绘制表格和直方图

    Java Graphics绘制表格和直方图 最近有一个需求是使用Java的swing中Graphics绘制表格和直方图,感觉还是有点意思记录一下,先上图. ​ 开始感觉有点复杂,其实和自己在Windo ...

  6. Java导出Excel表格出现文件损坏异常解决方案

    Java导出Excel表格出现文件损坏异常解决方案 问题出现 问题出现 本人遇到这个问题,由于是第一次见,感觉无从下手.但是导出功能很常见,做的也很多,只有这个出现了文件损坏,那很可能是代码写的有问题 ...

  7. java访问excel表格_Java读取excel表格(示例代码)

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  8. Java 操作excel表格 - JXL(Java excel api)

    Java 操作excel表格 Java 操作 Excel 最常用的就是JXL(Java excel api)和POI,用起来挺简单的,不过相应的其功能也并非很强大,够用就行! 首先,下载jxl.jar ...

  9. Java对Excel表格的操作

    Java对Excel表格的操作 目前软件开发多采用B/S架构.正B/S架构可以给软件的开发部署带来很大的便利,但是与此同时这种架构也带来了一些问题,例如Web报表的处理等,在B/S架构下,客户端的开发 ...

  10. java 生成word表格

    JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案.(需要下载jacob.jar以及jacob.dl ...

最新文章

  1. android studio mac svn插件,mac下Android studio如何使用SVN进行版本控制?
  2. 基因分子生物学(1)-基因常识与DNA常识
  3. 音视频封装格式、编码格式知识
  4. Android下的Junit测试
  5. 重构老系统遗留代码的一些方法学习笔记
  6. iis php网站500错误原因_如何解决iis php 500错误问题
  7. matlab直扩序列生成,基于matlab的直接序列扩频通信系统仿真毕业论文
  8. libpcre.so.1 cannot be found
  9. RecyclerView 下拉刷新上拉加载
  10. AI技术如何做工程?
  11. golang xorm cmd xorm工具使用 reverse 反转一个数据库结构,生成代码
  12. 案例应用|如何借助SPC软件实现汽车零配件品质管理
  13. C语言面向对象(下):驱动设计技巧
  14. 离散数学之矩阵关系运算
  15. VMware虚拟机NAT模式共享主机无线网络的配置方法
  16. 计算多项式的小技巧(Horner法则)
  17. (转载)shell脚本中的 EOF 是什么意思?
  18. 什么是序列化与反序列化
  19. wx小程序(wxml)
  20. codeforces 1367B - Even Array

热门文章

  1. 国产CI520 13.56MHz非接触式读写器NFC读卡芯片替代CV520
  2. Python_yield_实战应用_读取大文件
  3. Mac野外动物高清动态桌面壁纸
  4. gigabyte计算机主板图解,技嘉主板BIOS如何设置及进入 技嘉主板BIOS设置图解教程(2)...
  5. Redis(九)-Redis的常用数据类型之Hash表
  6. 圈小猫游戏与天使问题——容错值理论
  7. 微信小程序上线问题与经验总结
  8. 测试用例(测试大纲法)
  9. 道路交通安全隐患排查的方法研究
  10. Hbase------刘飞