一 中英文对齐输出问题

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

    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

在数字前补0

003333.33

-

左对齐

|3333.33 |

(

负数括在括号内

(3333.33)

,

添加分组分隔符

3,333.33

# (for f )

包含小数点

3,333.

# (for x or o)

添加前缀 0x 或 0

0xcafe

^

转化为大写

0XCAFE

$

指定格式化参数索引,如%1$d,%1$d表示以十进制
和十六进制打印第一个参数

159 9F

<

格式化前面参数,如%d%<x表示以十进制和十六进
制打印同一个参数

159 9F

  时间日期的转换符如下:

转换符

类型

举例

C

完整日期和时间

Mon Feb 09 18:05:19 PST 2004

F

ISO 8601 日期

2004-02-09

D

美国时间格式 (mm/dd/year)

02/09/2004

T

24小时时间

18:05:19

r

12小时时间

06:05:19 pm

R

24小时无秒时间

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

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

069

H

24小时制小时,两位补0

18

k

24小时制小时,两位不补0

18

I

12小时制小时,两位补0

06

l

12小时制小时,两位不补0

6

M

分钟,两位补0

05

S

秒,两位补0

19

L

毫秒,三位补0

047

N

毫微秒,九位补0

047000000

P

上下午大写

PM

p

上下午小写

pm

z

RFC 822 numeric offset from GMT

-0800

Z

时区

PST

s

1970-01-01 00:00:00起秒数

1078884319

E

1970-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 其它……

Java中中英文对齐输出问题,以及Java中的格式化输出的更多相关文章

  1. jstl中的sql:query标签获取的结果如何格式化输出

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  2. python中in,not in,比较运算符,格式化输出,编码

    一,python中的in,和not in python中in的作用是检测或查找,例如: c = ‘你好大号胡覅但是啊飞碟说’ b = ‘你好’ print(b in c ) 结果: True c = ...

  3. 编写Java程序,使用日期处理类实现日期的格式化输出

    返回本章节 返回作业目录 需求说明: 按"yyyy-MM-dd"格式输入一个字符串型日期,然后输出这个日期为本年中的第几周. 实现思路: 使用SimpleDateFormat格式化 ...

  4. MFC中利用CString和Format成员函数将数字格式化输出

    str.Format("格式控制字符串”,输出列表): 格式控制字符串包括格式字符串和非格式字符串,用双引号括起来.其中非格式字符串原样输出. 格式字符串是以%开头的字符串:%[标识][输出 ...

  5. 2017-12-15python全栈9期第二天第五节之格式化输出补充之想要在格式化输出中表示单纯的%号就加%

    #!/user/bin/python# -*- coding:utf-8 -*-name = input('姓名:')age = input('年龄:')height = input('身高:')ms ...

  6. Java基础 -- 字符串(格式化输出、正则表达式)

    一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...

  7. Java:输入输出、格式化输出

    1.输出 都在System.out模块下,常用方法有: print:输出: println:输出并换行: printf:格式化输出: 2.格式化输出 格式化输出的方法是System.out.print ...

  8. Java - 格式化输出JSON字符串的两种方式

    目录 1 使用阿里的fastjson 1.1 项目的pom.xml依赖 1.2 Java示例代码 2 使用谷歌的gson 2.1 项目的pom.xml依赖 2.2 Java示例代码 1 使用阿里的fa ...

  9. Java基础学习总结(47)——JAVA输入输出流再回忆

    一.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. Java的I/O流提供了 ...

随机推荐

  1. LeetCode:19. Remove Nth Node From End of List(Medium)

    1. 原题链接 https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/ 2. 题目要求 给出一个链表,请 ...

  2. MediaTypeListWidget->insertItem 添加的label没有填充单元格

    label没有填充满当前的item,但是主界面拉伸或者大小变化之后会填充当前的item 类似相关的问题我猜测都是因为子控件或者需要参考的控件的参考对象的大小在初始化的时候还没有完成最终的初始化,导致大 ...

  3. springmvc基础篇—通过注解的方式去配置项目

    学习了通过xml方式去配置项目后,当然要掌握更简单更灵活的注解方式哟,这是官方推荐使用的方式. 一.修改配置文件,建议大家直接使用我的配置文件 <?xml version="1.0&q ...

  4. MySQL☞length函数

    length(字符串/列名):求出该字符串/列名中字符的个数 格式: select  length(列名)  from 表名 如下图:

  5. eclipse返回快捷键

    1.图上第一个箭头(Ctrl + Q) 返回上一个编辑点(编辑,修改代码) 2.图上第二个箭头(Alt + Left) 返回上一个操作点(点击进入方法等操作) 3.图上第三个箭头(Alt + Righ ...

  6. Python第二天 (数据类型,变量 )

    1. 把任意数据类型赋值给变量 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如: 例子:a = 123 # a是整数 prin ...

  7. LeetCode 全解(bug free 训练)

    1.Two Sum Given an array of integers, return indices of the two numbers such that they add up to a s ...

  8. 学习人工智能的第六个月[深度学习[Deep Learning,DL]]

    这个月阅读了论文[Partial Adversarial Domain Adaptation-eccv18],文章着眼于源域标签空间包含目标域标签空间的场景,在域对抗神经网络的基础上提出了部分对抗域适 ...

  9. LeetCode 707 ——设计链表

    1. 题目 2. 解答 用一个单链表来实现,只有一个头指针.因为不能建立哨兵结点,因此要特别注意是否在头结点处操作. class MyLinkedList { public: struct ListN ...

  10. LeetCode 234——回文链表

    1. 题目 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O( ...