字符串对齐的问题。
写一个方法实现左对齐和右对齐,参数为一个字符串,和一个整数,还有一个字符。
当字符串长度小于整数时,用字符补全。

解决方案 »

  1.   


    public class C {
    public static void  align(String str,int k,String c){
    if(k-str.length() >0){
    for(int i=0;i<k-str.length();i++)
    str=str+c;
    }
    System.out.println("左对齐:"+str);
    System.out.println("右对齐:"+new StringBuffer(str).reverse().toString());
    }
     
        public static void main(String[] args){
         //左对齐和右对齐,参数为一个字符串,和一个整数,还有一个字符。
         //当字符串长度小于整数时,用字符补全。
         align("abcdefg",20,"*");
        }
    }
    输出:
    左对齐:abcdefg*******
    右对齐:*******gfedcba
      

  2.   


    public static void main(String[] args) {
    String str = "hello"; System.out.println(left(str, 10, '+'));
    System.out.println(right(str, 10, '+'));
    } public static String left(String str, int len, char c) {
    StringBuffer sb = new StringBuffer(str);
    while (sb.length() < len) {
    sb.insert(0, c);
    }
    return sb.toString();
    } public static String right(String str, int len, char c) {
    StringBuffer sb = new StringBuffer(str);
    while (sb.length() < len) {
    sb.append(c);
    }
    return sb.toString();
    }