malthe.w:
私はメンバーのArrayListに、端末にプリントアウト時にtoStringメソッドで呼び出された氏名、年齢、生年月日など、自分自身の情報、とそれぞれを持っています。
ここで、コードは次のとおりです。
@Override
public String toString() {
return "|ID: " + id + "| Name: " + name + "| Age: " +
calculateAge(age, LocalDate.now()) + "| Tlf.: " + tlfNo + "| Active: " +
activeMember + "| Next payment: " + nextPayment + "|";
}
そして、ここでの出力です:
|ID: 12| Name: Casper| Age: 49| Tlf.: 12345678| Active: true| Next payment: 2018-02-12|
|ID: 13| Name: Allan| Age: 69| Tlf.: 12345678| Active: true| Next payment: 2018-01-12|
|ID: 16| Name: Christina| Age: 100| Tlf.: 12345678| Active: false| Next payment: 2018-02-04|
|ID: 19| Name: RICK| Age: 49| Tlf.: 12345678| Active: false| Next payment: 2018-04-14|
どのように私は、互いの上に整列するためにさまざまな情報を得るのですか?
Veselin Davidov:
あなたのような何かを行うことができます:
public String toString() {
return String.format("|id: %10d |Name: %30s| Age: %02d | Tlf.: %d| Active: %s| Next Payment: %s |", id, getNameTrimmed() , age , tlfNo , activeMember, nextPayment );
}
private String getNameTrimmed(){
if(name.length()>30) {
return name.substring(0,27)+"...";
}
return name;
}
IDが10個の文字を持っています。この方法で、あなたがあなたの30文字の名前を付ける方法を追加する必要があるので、名前は30になります(あなたが長いのIDを持っている場合、それはまだフォーマットが解除されます)