在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。

时间:2022-01-30 12:59:10
/*
 * 在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如:		
	┌─┬─┐
	│ │ │
	├─┼─┤
	│ │ │
	└─┴─┘		
其实,它是由如下的符号拼接的:
	左上 = ┌
	上 =  ┬
	右上 =  ┐
	左 =  ├
	中心 =  ┼
	右 =  ┤
	左下=  └
	下 =  ┴
	右下 =  ┘
	垂直 =  │
	水平 =   ─
本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。
例如用户输入:
3 2
则程序输出:
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
├─┼─┤
│ │ │
└─┴─┘
用户输入:
2 3
则程序输出:
┌─┬─┬─┐
│ │ │ │
├─┼─┼─┤
│ │ │ │
└─┴─┴─┘

要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。
另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

 */
import java.util.Scanner;

public class Demo07 {
	// 输出中间全部都是竖杠的行
	public static void middle(int j){
		for(int i=0;i<j;i++){
				System.out.print("│ ");
		}
		System.out.println("│");
	}
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输出两个数,行和列:");
		int row = scan.nextInt();
		int col = scan.nextInt();
		for(int i=0;i<row;i++){
			for(int j=0;j<=col;j++){
				if(i==0){	// 输出第一行
					if(j==0){
						System.out.print("┌─");
					}else if(j>0&&j<col){
						System.out.print("┬─");
					}else{
						System.out.println("┐");
						middle(col);
					}
				}else if(i==row){	// 输出最后一行
					if(j==0){
						System.out.print("└─");
					}else if(j>0&&j<col){
						System.out.print("┴─");
					}else{
						System.out.println("┘");
					}
				}else{		// 输出中间行
					if(j==0){
						System.out.print("├─");
					}else if(j>0&&j<col){
						System.out.print("┼─");
					}else{
						System.out.println("┤");
						middle(col);
					}
				}
			}
		}
	}
}

运行结果:

请输出两个数,行和列 ,例: 3 4 
3 4
┌─┬─┬─┬─┐
│ │ │ │ │
├─┼─┼─┼─┤
│ │ │ │ │
├─┼─┼─┼─┤
│ │ │ │ │
└─┴─┴─┴─┘