java中自动格式对齐_Java中中英文对齐格式输出问题

一 中英文对齐输出问题

问题,要求控制台输出如下:

abcefg   def

森林    阿狗

其实就是要求对齐输出,各种查找java的格式化输出,然后发现只要一个简单的“/t”就可以实现。

代码如下:

System.out.printf("abcefg/t");System.out.printf("def/t");System.out.println();System.out.printf("森林之王/t");System.out.printf("阿狗/t");

二 几个关于java格式化输出的知识点汇总

2.1 类c的printf方法

Java的格式化输出等同于String.Format,与C有很大的相似,比如 System.out.printf("%8.2f", x);

在printf中,可以使用多个参数,例如:System.out.printf("Hello, %s. Next year,you'll be %d", name, age);

用于printf的转换符如下表:

转换符类型 举例

d十进制整数  159

x十六进制整数9f

o八进制整数237

f定点浮点数15.9

e指数浮点数1.59e+01

g通常浮点数

a十六进制浮点数0x1.fccdp3

s字符串Hello

c字符H

b布尔型TRue

h散列码42628b2

tx日期时间见时间介绍表

%百分号%

n分隔符

在printf函数中,可以使用多个标志,如:  System.out.printf("%,.2f",10000.0 / 3.0);

用于printf的标志如下表

标志目的举例

+打印数字前的符号+3333.33

space在正数之前加空格| 3333.33|

0在数字前补0003333.33

-左对齐|3333.33 |

(负数括在括号内(3333.33)

,添加分组分隔符3,333.33

# (for f )包含小数点3,333.

# (for x or o)添加前缀 0x 或 00xcafe

^转化为大写0XCAFE

$指定格式化参数索引,如%1$d,%1$d表示以十进制

和十六进制打印第一个参数159 9F

< 格式化前面参数,如%d%

制打印同一个参数159 9F

时间日期的转换符如下:

转换符类型举例

C完整日期和时间Mon Feb 09 18:05:19 PST 2004

FISO 8601 日期2004-02-09

D美国时间格式 (mm/dd/year)02/09/2004

T24小时时间18:05:19

r12小时时间06:05:19 pm

R24小时无秒时间18:05

Y四位年2004

y年的后两位04

C年的前两位20

B月的完整拼写February

b or h月的缩写Feb

m两位月(前补0)02

d两位日(前补0)09

e日期(前不补0)9

A完整星期几Monday

a星期几的缩写Mon

j这一年的第多少天,三位补0069

H24小时制小时,两位补018

k24小时制小时,两位不补018

I12小时制小时,两位补006

l12小时制小时,两位不补06

M分钟,两位补005

S秒,两位补019

L毫秒,三位补0047

N毫微秒,九位补0047000000

P上下午大写PM

p上下午小写pm

zRFC 822 numeric offset from GMT-0800

Z时区PST

s1970-01-01 00:00:00起秒数1078884319

E1970-01-01 00:00:00起毫秒数1078884319047

2.2 String.format

public class StringFormat { /** * 格式化输出 字符串 * [*]左对齐,右补空格 * * @param str * @param min_length : 最小输出长度 * @return */ public static String formatLeftS(String str, int min_length) { String format = "%-" + (min_length < 1 ? 1 : min_length) + "s"; return String.format(format, str); } /** * 格式化输出 整数 * [*]右对齐,左补0 * * @param num * @param min_length : 最小输出长度 * @return */ public static String format0Right(long num, int min_length) { String format = "%0" + (min_length < 1 ? 1 : min_length) + "d"; return String.format(format, num); } /** * 格式化输出 浮点数 * [*]右对齐,左补0 * * @param d * @param min_length : 最小输出长度 * @param precision : 小数点后保留位数 * @return */ public static String format0Right(double d, int min_length, int precision) { String format = "%0" + (min_length < 1 ? 1 : min_length) + "." + (precision < 0 ? 0 : precision) + "f"; return String.format(format, d); }}

2.3 其它……

相关阅读:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值