gpt4 book ai didi

java - 在 Java 中格式化 toString

转载 作者:行者123 更新时间:2023-12-05 05:45:06 24 4
gpt4 key购买 nike

我已经尝试在我的 toString 中使用 String 格式化程序来使我的输出看起来不错,任何人都知道我该如何解决这个问题,我是 Java 格式化程序的新用户。

我正在使用这段代码从“.ser”格式的文件中读取数据代码看起来像这样,


public void printList(List<Person> list, File filepath) throws IOException, ClassNotFoundException {
Person person = new Person();
if (filepath.isFile()) {
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(filepath));
list = (List<Person>) inputStream.readObject();
inputStream.close();
ListIterator iterator = list.listIterator();
int count = 0;
while (iterator.hasNext()) {

System.out.println((count +1)+ ". " +iterator.next());
count++;
}
if(count > 0){
System.out.println("\nThere are : " + count +" persons.\n");
}else {
System.out.println("The list is empty....!\nTo add to list enter 1:");
}
}
}


我正在使用 ObjectInputStream 和 OutPutstream 来读取这些数据。我的代码工作正常,但我想修复的输出状态更好。

public class Person extends Addresses implements Serializable {

private String firstName = "";
private String lastName = "";
private String age= "";
private double length;
private String postAddress = "";
private String postNumber = "";
private String postArea = "";


public Person() {
this("", "", "", 0.0, "", "", "");
}

public Person(String firstName, String lastName, string age, double length, String postAddress, String postNumber, String postArea) {
super(postAddress, postNumber, postArea);
this.firstName = firstName;
this.lastName = lastName;
this.signature = age;
this.length = length;

}

@Override
public String toString() {

String header = String.format(java.util.Locale.US, "\t%5s \t%1s %1s \t%10.2f",
this.age, this.firstName, this.lastName, this.length);
return header;
}





No  Age         Name                   Length[M]
1. 12 John Doe 1.80
2. 32 Mona lisa 1.69
3. 50 Benjamin Franklin 1.75
4. 45 Robert Oppenheimer 1.82

我想要的输出是

No  Age         Name                        Length[M]
1. 12 John Doe 1.80
2. 32 Mona lisa 1.69
3. 50 Benjamin Franklin 1.75
4. 45 Robert Oppenheimer 1.82


最佳答案

解决方案 1:您可以增加字符串限制,使所有生成的字符串都符合给定的限制,以便出现统一的制表符缩进。

解决方案 2:您可以像下面那样限制 char 限制,这样字符串总是在给定的限制内,这样就会有适当的缩进

 String result = String.format("|%.5s|", "Hello World");//  output -> |Hello|

关于java - 在 Java 中格式化 toString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71446154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com