黑马程序员技术交流社区
标题:
求助!横排文字转成竖排文字!
[打印本页]
作者:
smhjx2006
时间:
2013-6-7 10:58
标题:
求助!横排文字转成竖排文字!
/**
*此程序实现了将文字竖排,但是如果文字中出现了标点符号,
*就会出现无法对齐的现象,请帮助解决!
*/
import java.util.*;
class ValignDemo
{
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
System.out.println("请输入一行文字:");
String str = console.nextLine();
System.out.println("请输入行数:");
int size = console.nextInt();
System.out.println(valign(str,size));
}
//valign方法将输入的一行文字,按照输入的行数显示
public static String valign(String str,int size)
{
int rows = size;//rows:行数
int cols = str.length()/size;//cols:列数,但是"/"是取整数,不满一列的都不算,所以假设能整除
if(str.length()%size!=0)//如果不能整除,说明有非满列的情况,所以要"+1"
{
cols++;
}
char[] chs = new char[cols*rows];//定义字符数字
int idx = 0;
for(int i = cols-1;i>=0;i--)
{
for(int j = 0;j< rows;j++)
{
if(idx == str.length())
{
chs[j*cols+i]='~';
}
else
{
chs[j*cols+i] = str.charAt(idx++);
}
}
}
String s = "";
for(int i=0;i<chs.length;i++)
{
s+=chs[i];
if((i+1)%cols==0)
{
s+='\n';
}
}
return s;
}
}
作者:
袁梦希
时间:
2013-6-9 15:27
牛人 等待大神回答
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2