在写博客的时候CSND没有表格按钮,每次写表格很麻烦,于是我写了个代码来生成表格的markdown语句,使用的时候只要输入行和列就行了。
代码:
package markdowntools;
import java.util.Scanner;
import clipboard.util.SysClipboardUtil;
public class MarkDownTableCode
{
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
System.out.println("############ markdown表格生成器 ############");
System.out.print("输入行数:");
int rows=scanner.nextInt();
System.out.print("输入列数:");
int cols=scanner.nextInt();
System.out.println("############ 运行结果: ############");
String head=tableHead(cols);
String style= tableStyle(cols);
//打印表格内容:
String body=tableBody(cols, rows);
// System.out.println("----------------------------------------");
System.out.println(head+style+body);
//把生成的markdown代码写入到系统剪贴板中
SysClipboardUtil.setSysClipboardText(head+style+body);
}
/**
* @param cols
* @return
*/
public static String tableHead(int cols)
{
StringBuilder buf=new StringBuilder();
//打印表格头
for(int j=1;j<=cols;j++)
{
// System.out.print("|标题"+j);
buf.append("|标题"+j);
}
// System.out.println("|");//标题行结束
buf.append("|\n");
return buf.toString();
}
/**
* 生成默认格式的markdown表格对齐样式。
* @param cols 表格的列数
* @return markdown表格对齐样式语句字符串。
*/
public static String tableStyle(int cols)
{
StringBuilder buf=new StringBuilder();
//打印表格样式使用默认
for(int j=1;j<=cols;j++)
{
// System.out.print("|-");
buf.append("|-");
}
// System.out.println("|");//标题行结束
buf.append("|\n");
return buf.toString();
}
/**
* 生成表格体markdown语句。
* @param cols 表格的列数
* @param rows 表格的行数
* @return 带编号的表格体markdown语句,表格体第一行编号1,第二行编号2.
*/
public static String tableBody(int cols, int rows)
{
StringBuilder buf=new StringBuilder();
for(int i=0;i<rows;i++)
{
for(int j=1;j<=cols+1;j++)
{
// System.out.print("|");
buf.append("|");
if(j==1)
{
// System.out.print(i+1);
buf.append((i+1));
}
}
// System.out.println();
buf.append("\n");
}
return buf.toString();
}
}
现在来生成一个3行4列的表格:
剪贴板中的代码(我这里粘贴过来了):
|标题1|标题2|标题3|标题4|
|-|-|-|-|
|1||||
|2||||
|3||||
效果:
标题1 | 标题2 | 标题3 | 标题4 |
---|---|---|---|
1 | |||
2 | |||
3 |
上面用到了一个放到操作剪贴板的工具jar:clipboard.util.SysClipboardUtil
下面给出jar路径:
https://download.csdn.net/download/qq_21808961/10449878
在eclipse中导入该jar包即可实现操作。后面会贴上clipboard.util.SysClipboardUtil
的源码:
https://blog.csdn.net/qq_21808961/article/details/80671259