1

次のことができるかどうか疑問に思っていました。

System.out.printf("%10.2f", car[i]);

メソッドを再定義したことを考慮してくださいtoString()

public void toString() {
    return this.getPrice + "" + this.getBrandName;
}

それ以外の場合は、印刷する価格をどのようにフォーマットしますか?

4

2 に答える 2

1

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

(簡単な場合は、価格をセントで表してください。)

于 2012-11-24T04:48:08.620 に答える
0

代わりにString.format()を使用してください。

public void toString() {
    return String.format("%10.2f", this.getPrice) + "" + this.getBrandName;
}
于 2012-11-24T05:13:12.773 に答える