2016-04-22 101 views
0

我真的需要帮助,我是编程新手。每当我运行我的代码,我得到这个问题转换=' - '。线程“main”中的Java异常java.util.UnknownFormatConversionException:Conversion =' - '

下面是代码:

她是产品

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() { 

} 

的代码,这里是折扣代码为借

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 = '-' 
+0

串联和格式化,呃? 'str + String.format(“fmt”,arg1,arg2)''可以更有效地写为'String.format(“%sfmt”,str,arg1,arg2)''。 –

+0

尝试首先打印没有左对齐的字符串,然后担心格式化 –

+0

我不认为你复制了所有正确的值......'releaseDate'不能从Discount类打印 –

回答

0

j ava.util.UnknownFormatConversionException:转换=“ - ”当您尝试使用从您的字符串中声明的一个,即不同类型格式的字符串

抛出:%d,%F等

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

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

因此,要么:

1)“description”不是字符串。 2)dR.getQuantity()返回一个浮点数或其他非整数类型。 3)dr.getPrice()不会返回一个浮点型数据。 4)releaseDate不返回一个整数。

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

相关问题