一 中英文对齐输出问题

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

    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. 使用maven插件生成grpc所需要的Java代码

    1.首先需要编写自己需要的.proto文件,本文重点不在这里,.proto可以参考grpc官方例子 https://grpc.io/docs/quickstart/java.html 2.创建自己的J ...

  2. 根据STATUS信息对MySQL进行优化

    mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一.慢查询mysql> sh ...

  3. php用GD库给图片添加水印

    php用GD库给图片添加文字水印,整个代码比较简单,DEMO如下: <?php /*打开图片*/ //1.配置图片路径 $src = "aeroplane.jpg"; //2 ...

  4. Spring.Net在ASP.NET Mvc里使用的一个小例子

    就贴个小例子,就不注意格式了. 1.下载dll NuGet的下载地址:http://docs.nuget.org/docs/start-here/installing-nuget 在vs的NuGet里 ...

  5. Lambda表达式在Kotlin中怎样工作的:setOnClickListener的转换(KAD 18)

    作者:Antonio Leiva 时间:Mar 28, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin-android/ 虽然,我在其它文章讲过一点 ...

  6. NOI中“大整数加法”问题不能AC的解决建议

    一.检查输入000和00相加是否出结果. 二.数组不要开小了,亲测256的数组不够.推荐1024.   附录AC程序: 如果不能AC请将256改为1024,255改为1023. #include &l ...

  7. Oracle 11g 审计跟踪管理

    在Oracle11g之前,oracle数据库自带的审计功能是关闭的,考虑到性能和审计管理的复杂性,用户一般不打开审计功能.如果有审计要求,DBA会采用trigger来实现对DDL审计的方法来折中.例如 ...

  8. Linux 进程--父进程查询子进程的退出状态

    僵尸进程 当一个子进程先于父进程结束运行时,它与其父进程之间的关联还会保持到父进程也正常地结束运行,或者父进程调用了wait才告终止. 子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它 ...

  9. 使用vue和web3创建你的第一个以太坊APP

    欢迎回到这个很牛的教程系列的第2部分,在教程中我们亲手构建我们的第一个分布式应用程序. 在第二部分中,我们将介绍VueJS和Vuex的核心概念,并引入web3js以与metamask进行交互. 如果你 ...

  10. 一个android控件资源网站

    http://www.androidviews.net/ 里面有各种常用控件,赞~