打印竖排的文字

/**
 * 文字内容的竖排
 * 顺序:从上往下,从右向左。
 * 
 * @author tiger
 * @date 2010-07-26 22:25
 */
public class shupai {

    private String str = "";
    
    public shupai(String str)
    {
        this.str = str;
        this.initArray();
    }
    
    private int rowNum = 6;
    private String[][] array = new String[rowNum][];
    
    private void initArray()
    {
        //初始化array列大小
        int length = str.length();
        int colNum = (length + rowNum - 1) / rowNum;
        for (int i = 0; i < array.length; i++) {
            array[i] = new String[colNum];
        }
        //初始化array的元素
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                int k = colNum - j - 1;
                if(k * rowNum + i < length)
                {
                    array[i][j] = str.substring(k * rowNum + i, k * rowNum + i + 1);
                }else{
                    array[i][j] = "?";  //为空的地方用?代替,是为了打印整齐。
                }
            }
        }
    }
    
    public void print()
    {
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j]);
            }
            System.out.println();
        }
    }
    
    public static void main(String[] args) {
        shupai sp = new shupai("水千条山万座我们曾走过,每一次相逢和笑脸都彼此铭刻,在阳光灿烂欢乐的日子里,我们手拉手儿想说的太多。");
        sp.print();
    }
}

/*
 * 打印如下:
 */
/**
    多手里烂刻笑每我水
    。儿,欢,脸一们千
    ?想我乐在都次曾条
    ?说们的阳彼相走山
    ?的手日光此逢过万
    ?太拉子灿铭和,座
*/
原文地址:https://www.cnblogs.com/chaohi/p/2330333.html