线程" main"中的Java异常java.util.UnknownFormatConversionException:Conversion =' - '

时间:2016-04-22 23:28:18

标签: java

我真的需要帮助,我是编程新手。每次我运行我的代码我都会遇到这个问题转换=' - '。

以下是代码:

她是产品的代码

public abstract class Product implements Comparable<Product>, Serializable{
private Discount dR;
private String description;
private double price;
private int numInStock;
private Date releaseDate;
private int rating;

public Product() {

}

以下是折扣的代码,即dR

public class Discount {
private Product pro;
private Customer cust;
private double price;
private int quantity; 
private double getDiscount;
private char discountRate;

public Discount() {
    super();
}



public String toStringD() {
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    String string;

    string = "ALL PRODUCT SOLD";

    string = string + String.format("%-35s %-20d", description, dR.getQuantity()) + 
            "\t\t" + nf.format(price) + "\t" + String.format("%-15f %-15d", dR.getPrice(), releaseDate);
    return string;
}

这是问题

java.util.UnknownFormatConversionException: Conversion = '-'

1 个答案:

答案 0 :(得分:0)

java.util.UnknownFormatConversionException:Conversion =&#39; - &#39;

当您尝试使用与在字符串中声明的类型不同的类型格式化字符串时,抛出

,即:%d,%f等。

为了证实这一点,我在我的ide中运行你的方法来改变字符串格式函数中的参数,用于正确类型的硬编码参数。

我可以毫无问题地运行你的方法。

因此,要么:

1)&#34;描述&#34;不是一个字符串。 2)dR.getQuantity()返回一个float或其他非整数类型。 3)dr.getPrice()没有返回浮点数 4)releaseDate不返回整数。

由于您没有提供其余的代码,我无法准确地告诉您哪些代码会给您带来麻烦,但我认为通过此信息您可以跟踪给您带来麻烦的变量