Java错误中的BigDecimal
与价格有关的所有方面都存在错误/ 导入java.math.BigDecimal 公共类产品{Java错误中的BigDecimal,java,bigdecimal,Java,Bigdecimal,与价格有关的所有方面都存在错误/ 导入java.math.BigDecimal 公共类产品{ // Fields String name; String description; BigDecimal price = new BigDecimal(3.0); int quantity; String barcode; String image; static int count; // Constructors
// Fields
String name;
String description;
BigDecimal price = new BigDecimal(3.0);
int quantity;
String barcode;
String image;
static int count;
// Constructors
public Product()
{
name = "";
description = "";
price = 0;
quantity = 0;
barcode = "";
image = "";
}
public Product(String n, String d, double p, int q, String b, String i)
{
name = n;
description = d;
price = p;
quantity = q;
barcode = b;
image = i;
}
// Get/Set methods
// description getter and setter
public String getDescription()
{
return description;
}
public void setDescription(String d)
{
this.description = d;
}
// name getter and setter
public String getName()
{
return name;
}
public void setName(String d)
{
this.name = d;
}
// price getter and setter
public double getPrice()
{
return price;
}
public void setPrice(double d)
{
this.price = d;
}
// quantity getter and setter
public int getQuantity()
{
return quantity;
}
public void setQuantity(int d)
{
this.quantity = d;
}
// barcode getter and setter
public String getBarcode()
{
return barcode;
}
public void setBarcode(String d)
{
this.barcode = d;
}
// image getter and setter
public String getImage()
{
return image;
}
public void setImage(String d)
{
this.image = d;
}
}
我的问题是为什么我所有的价格部分都有错误。我需要它是一个大的十进制,但是如何修复错误呢?你的构造函数给出了p的值,它是你的大十进制,是双精度的。您需要为它提供一个BigDecimal:)因此在arguemnts中,为“p”提供该值,而不是“double”
Java使用了一种叫做“静态检查”的东西,这意味着即使在您键入时,它也可以告诉您,例如,如果您将一个变量声明为BigDecimal,并且您尝试将其设置为另一种类型的变量,则会出现错误。如果你把鼠标悬停在变量下面的红色曲线上,它会给你非常有用的信息 感谢您告诉我们错误。请正确格式化您的代码!您没有解释错误是什么,在哪里发生的,是如何产生的,以及您预期会发生什么。您的错误是“无法将double分配给BigDecimal”。它告诉了您什么?我知道这个用户看起来对Java相当陌生,所以我们为什么不提供帮助,而不是被动攻击呢?