看到编程思想里的formatter,觉得对齐这点做的很好,以前自己写pos机代码时用到这个就好了,记录下来
package star20110512;
import java.util.Formatter;
public class Receipt {
private double total = 0;
private Formatter formatter = new Formatter(System.out);
private Formatter formatter2 = new Formatter(System.err);
public void printTitle(){
formatter.format("%-15s %5s %10s\n", "Item" ,"Qty" ,"Price");
formatter.format("%-15s %5s %10s\n", "----" ,"---" ,"-----");
}
public void print(String name, int qty,double price){
formatter2.format("%-15s %5d %10.2f\n", name,qty,price);
total += price;
}
public void printTotal(){
formatter.format("%-15s %5s %10.2f\n", "Tax","",total*0.06);
formatter.format("%-15.15s %5s %10s\n", "","","-----");
formatter.format("%-15s %5s %10.2f\n", "Total","",total);
}
public static void main(String[] args) {
Receipt receipt = new Receipt();
receipt.printTitle();
receipt.print("good check",5, 10.98);
receipt.print("coco",10, 6.5);
receipt.print("ice",200, 10);
receipt.printTotal();
}
}
公司不能上外网,所以结果就不贴了,想看结果,自己运行下...