您现在的位置是:主页 > news > 大型网站 网站建设/it培训机构推荐
大型网站 网站建设/it培训机构推荐
admin2025/6/7 19:23:21【news】
简介大型网站 网站建设,it培训机构推荐,首饰网站建设策划案,WordPress制作公告画表格 在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看) ------------- |abc |xyztt| ------------- |hellomm|t2 | ------------- 本题目要求设计一个程序…
画表格 在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:(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); } }