String a="abcd",b="1234";
int len=20;
String s=a+b;if(s.length()<=len){
 int j=len-s.length;
 s="";
 for(int i=0;i<j;i++}
   s=s.concat(" ");
 s=a+s+b;

解决方案 »

  1.   

    在vc++中可以寫成為如下代碼:
    CString str1, str2;
    str.Format("%-10s%10s\n", "abc","bbbb");
    str2.Format("%-10s%10s\n", "abcaa","bbbbaaaa");
      

  2.   

    JAVA里面的String 和 StringBuffer 都没有这样的方法,你只有自己写一个静态方法,用了StringBuffer,效率要高一点。e.g.:
    static String strFormat(String s,String s2,int len)//len 为你要的字串的长度
    {
    StringBuffer sb=new StringBuffer();
    char[] space=new char[len-s.length()-s2.length()];
    for (int n=0;n<space.length ;n++ )
    {
    space[n]=' ';
    }
    return sb.append(s+new String(space)+s2).toString();
    }