我有一个赋值,我们需要使用toString()方法创建一个User类。 toString方法应该返回一个字符串,其中包含有关用户的所有信息。我们需要创建一个包含50个User对象的数组,并在单独的行上打印有关每个用户的信息。问题是,我希望将所有内容保存在一个整齐的表中,所有字符串的长度相同。例如:
User Name Password Full Name Email
___________________________________________________________________________________________
shortUser 12345 John Smith jSmith@shortnames.com
thisUserIsLonger 1234567890 Smitty Werbenjagermanjensen Smitty@thisOneIsLong.com
我想保持一致,如上表所示。这在C ++中很容易,因为我可以使用setw()根据字段的大小动态填充空格。这样的事情在Java中是可能的吗?
答案 0 :(得分:2)
我知道这可能不是您想要的确切内容,但如果您对printf及其兄弟姐妹感到满意,请查看String.format()
答案 1 :(得分:0)
有很多是存储数据并按照您的喜好进行检索 例如:存储在DBMS中或序列化数据
由于数据不多,我会坚持序列化。
首先,你需要创建一个人类。
class Person{
String name;
String pwd;
String email;
String fullName;
// make the getters and setters
}
使用setter设置Person
数据(您可以使用循环)
将对象人物添加到ArrayList
arrayListObj.add(person1);
尝试{ System.out.println(“序列化列表”); FileOutputStream fout = new FileOutputStream(“list.dat”); ObjectOutputStream oos = new ObjectOutputStream(fout); oos.writeObject(arrayListObj); oos.close(); } catch(例外e){ e.printStackTrace(); }
反序列化如下
try {
FileInputStream fin = new FileInputStream("list.dat");
ObjectInputStream ois = new ObjectInputStream(fin);
List<String> list = (ArrayList) ois.readObject();
for (String s : list){
System.out.println(s);
}
ois.close();
}
catch (Exception e) {
e.printStackTrace();
}
反序列化后,您可能必须使用iterator来调用列表
这些是您可以实现目标的基本步骤!
单词之后只是打印结果。