画类似mysql查询的table

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43


import java.util.Scanner;
import java.util.function.Supplier;
import java.util.stream.Stream;

import static java.util.stream.Collectors.*;

/**
*/
public class Main {
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
int row = scanner.nextInt();
int column = scanner.nextInt();
System.out.println(new Box(row,column));
}
static class Box{
private final int row;
private final int column;
public Box(int row, int column) {
this.row = row;
this.column = column;
}

public Supplier<String> createLine(){
return ()-> Stream.generate(()->"---+").limit(column).collect(joining("","+","\n"));
}
public Supplier<String> createLine2(){
return ()-> Stream.generate(()->" |").limit(column).collect(joining("","|","\n"));
}
public Supplier<String> createNext(){
return ()-> Stream.generate(()->createLine2().get()+createLine().get()).limit(row).collect(joining());
}
@Override
public String toString() {
return createLine().get()+createNext().get();
}
}

}