输入格式:
输入在第一行给出一个正整数N(<100),
是每一列的字符数。第二行给出一个长度
不超过1000的非空字符串,以回车结束。
输出格式:按古风格式排版给定的字符串,
每列N个字符(除了最后一列可能不足N个)
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入每列字符数:");
int row=scanner.nextInt();
scanner.nextLine();
System.out.println("输入字符串:");
String s=scanner.nextLine();
String[] split=s.split("");
int splits=0;
int column;
int rows=0;
if(s.length()%row==0)
column=s.length()/row;
else
column=s.length()/row+1;
int cc=column-1;
String [][] str=new String[row][column];
for(int i=0;i<column;i++)
{
while(rows<row)
{
if(splits==split.length)
break;
str[rows++][cc]=split[splits++];
}
if(splits==split.length)
break;
cc--;
rows=0;
}
for(int i=0;i<row;i++)
{
for(int j=0;j<column;j++)
{
if(str[i][j]!=null) System.out.print(str[i][j]);
else
System.out.print(" ");
}
System.out.println();
}
运行结果
输入每列字符数:
5
输入字符串:
i am a student yeah
ydai
ee
ansa
httm
u