public class Interest 
{
public static void main(String args[])
{
double amount;
double principle = 1000.0;
double rate = 0.05;
System.out.printf("%s%20s\n","Year","Amount on deposit");
for(int year = 1; year <= 10;year++)
{
amount = principle * Math.pow( 1.0 + rate ,year);
System.out.printf("%4d%,20.2f\n",year,amount);
}

}
}
"%s%20s\n"这个字符中的20表示什么意思?
"%4d%,20.2f\n"这个字符转换是什么意思?20.2f是什么意思?

解决方案 »

  1.   

    java5中的推出的类似C语言printf风格的格式化输出
      

  2.   

    1楼正解
    20 宽度  
    .2 精度
    还可以写成System.out.format("%4d%,20.2f\n",year,amount);
    //或
    System.out.format(String.format("%4d%,20.2f\n",year,amount));
      

  3.   


    //格式 [argument_index$][flags][width][.precision]conversion
    //还可以写成
    System.out.format("%4d%,20.2f\n",year,amount);
    //或
    System.out.print(String.format("%4d%,20.2f\n",year,amount));
    //或
    System.out.println(String.format("%4d%,20.2f\n",year,amount));

      

  4.   

    既然使用了 printf ,把 \n 改为 %n 吧。
      

  5.   

    java.util.Formatter
    查API就明白了。因为Javadoc太多了不能贴上来。