我有一种方法可以在计算费用并向其中添加费用后,将总价格打印为两倍。

public static String printWarehouseCharge(Warehouse w[])
{
    String wc = "";
    for(int i=0; i < 4; i++)
    {
        // method that calculates charge and returns a double
        double warehouseCharge = w[i].calculateWarehouseCharge();
        //here the calculateTransportFee method adds a fee and returns the total to be printed
        wc = wc+String.format("$%,.2f",  w[i].calculateTransportFee(warehouseCharge) +"\n");
    }
    return wc;
}


不幸的是,我一直收到格式错误:IllegalFormatConversionException
谁能帮我?

最佳答案

问题是因为您试图在下面的行中添加带有字符串的数字。
w[i].calculateTransportFee(warehouseCharge) +"\n"

从w [i] .calculateTransportFee(warehouseCharge)返回的是浮点数或双精度数,您将git加到\n中。

这应该为您工作...

wc = wc+String.format("$%,.2f", w[i].calculateTransportFee(warehouseCharge)) +"\n";

10-04 17:32