次のことができるかどうか疑問に思っていました。
System.out.printf("%10.2f", car[i]);
メソッドを再定義したことを考慮してくださいtoString()
。
public void toString() {
return this.getPrice + "" + this.getBrandName;
}
それ以外の場合は、印刷する価格をどのようにフォーマットしますか?
toString()
を返すので、印刷されたオブジェクトを(こちらを参照String
)でフォーマットできますが(こちらを参照) はできません。%s
%f
価格をフロートとして取得し、フォーマットされた数値をブランドとともに出力できます。
class Car {
public String toString() {
return "I'm a car";
}
public double getPrice() {
return 20000.223214;
}
public String getBrandName() {
return "Brand";
}
}
class Main {
public static void main(String[] args) {
Car c = new Car();
System.out.printf("%10.2f %s", c.getPrice(), c.getBrandName());
}
}
出力
20000.22 Brand
(簡単な場合は、価格をセントで表してください。)
代わりにString.format()を使用してください。
public void toString() {
return String.format("%10.2f", this.getPrice) + "" + this.getBrandName;
}