String str[5] = {"1", "12", "123", "1234", "12345"};
    1
   12
  123
 1234
12345
希望得到在终端的显示是右对齐的,怎么实现呢.
希望得到的方法对显示String数组中的元素右对齐通用,不仅仅为了实现上面的东西.
先谢过了.

解决方案 »

  1.   

    1
        12
       123
      1234
     12345 public static void main(String[] args) {

    int n = 5;

    for (int i = 0; i < n; ++i) {

    for (int j = 0; j < n - i; ++j) System.out.print(" ");

    for (int j = 0; j < i + 1; j++) {

    System.out.print(j + 1);
    }
    System.out.println();
    }

    }
      

  2.   

    用类似C语言的System.out.printf()函数,可以跟C语言一样设置宽度,不过要JDK1.5
      

  3.   

    如果输出长度有所限制,那么可以用jdk5.0里的格式化输出。如果要把数组中所有的字符串的所有数组都输出的话,首先要进行统计。 public static void prt(String[] ss){
    int maxLen=0;
    for (int i = 0; i < ss.length; i++) {
    maxLen = Math.max(maxLen,ss[i].length());
    }
    for (int i = 0; i < ss.length; i++) {
    StringBuffer spaces=new StringBuffer("");
    for (int j = 0; j < maxLen-ss[i].length(); j++)spaces.append(" ");
    System.out.println(spaces+ss[i]);
    }
    }
    这个函数可以右对齐输出,但是不能正确输出中英文混合的字符串数组。