/** * 文字内容的竖排 * 顺序:从上往下,从右向左。 * * @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(); } } /* * 打印如下: */ /** 多手里烂刻笑每我水 。儿,欢,脸一们千 ?想我乐在都次曾条 ?说们的阳彼相走山 ?的手日光此逢过万 ?太拉子灿铭和,座 */