我正在使用readLine()方法读取串行缓冲区。 readLine()返回的字符串格式为“str1:str2”。在一个while循环中,当我使用readLine()次数进行串口命令的响应时,我得到了奇怪的输出:
String1 : string1
SString11 : String2
StringString2 : String23
String4 : String5
但我需要输出格式如下
String1 : string1
SString11 : String2
StringString2 : String23
String4 : String5
我在字符串上使用了split方法,并将两个字符串用分隔符分隔为':'。但是现在我需要在String1中添加空格以对齐所有冒号。
对不起如果我的问题解释很奇怪。但如果有人理解这个问题你能建议怎么做吗?
答案 0 :(得分:20)
实现此目的的最简单方法是使用 System.out.format()。这使您可以使用C printf 样式格式说明符。一个例子:
System.out.format("%-5s:%10s\n", "Name", "Nemo");
System.out.format("%-5s:%10d\n", "Age", 120);
这将输出:
Name : Nemo
Age : 120
另请参阅Formatter类的文档以了解有关格式字符串语法的更多信息。
答案 1 :(得分:6)
答案 2 :(得分:4)
System.out.format(“%30s:%s”,str1,str2);
将打印第一个字符串,其固定宽度为30个字符。