Java 自動生成markdown表格程式碼
阿新 • • 發佈:2019-01-01
在寫部落格的時候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 |