java format 对齐,Java 自定义java.text.Format处理右对齐文本阅读,,RightFormat类

Java 自定义java.text.Format处理右对齐文本阅读,,RightFormat类

RightFormat类从java.text.Format类继承。来处理右对齐的字段。 使用这个类结合NumberFormat、DateFormat就可以实现右对齐阅读体验。

RightFormat.javaimport java.util.*;import java.text.*;public class RightFormat extends java.text.Format{ private int size; private char pad; public RightFormat(int fieldsize, char padchar) { if (fieldsize <= 1) throw new IllegalArgumentException("fieldsize must be > 1"); size = fieldsize; pad = padchar; } public RightFormat(int fieldsize) { this(fieldsize, ' '); } public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) { String val; int ix; val = obj.toString(); for(ix = size; ix > val.length(); ix--) toAppendTo.append(pad); toAppendTo.append(val); return toAppendTo; } public Object parseObject(String source, ParsePosition status) { int start, end, ix; String ret = ""; end = status.getIndex() + size; start = status.getIndex(); for(ix = start; ix < end; ix++) { if (source.charAt(ix) != pad) break; } if (ix < end) { ret = source.substring(ix, end); } status.setIndex(end); return ret; }}

TestRight.javaimport java.text.*;public class TestRight { public static void main(String args[]) { long f1 = 1; long f2 = 1; RightFormat rf = new RightFormat(20); System.out.println("Test of RightFormat(20) on Fibonacci numbers:"); for(int ix = 0; ix < 32; ix++) { System.out.println(rf.format(Long.toString(f1))); System.out.println(rf.format(Long.toString(f2))); f1 = f1 + f2; f2 = f2 + f1; } }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值