Java 如何修复错误-NumberFormat类型中的方法格式(double)不适用于参数(int,int)
包装asgn1 导入java.text.NumberFormat 公款{Java 如何修复错误-NumberFormat类型中的方法格式(double)不适用于参数(int,int),java,Java,包装asgn1 导入java.text.NumberFormat 公款{ NumberFormat moneyFormatter = NumberFormat.getCurrencyInstance(); private int dollars; private int cents; public Money() { dollars = 0; cents = 0; } public Money(int dollars, int cents) { this.dollar
NumberFormat moneyFormatter = NumberFormat.getCurrencyInstance();
private int dollars;
private int cents;
public Money() {
dollars = 0;
cents = 0;
}
public Money(int dollars, int cents) {
this.dollars = dollars;
this.cents = cents;
}
public Money(int dollars) {
this.dollars = dollars;
this.cents = 0;
}
public void setDollars(int dollars) {
this.dollars = dollars;
}
public void setCents(int cents) {
this.cents = cents;
}
public int getDollars() {
return dollars;
}
public int getCents() {
return cents;
}
public static Money add(Money money1, Money money2) {
int tempDollars = money1.getDollars() + money2.getDollars();
int tempCents = money1.getCents() + money2.getCents();
return new Money(tempDollars, tempCents);
}
public static Money minus(Money money1, Money money2) {
int tempDollars = money1.getDollars() - money2.getDollars();
int tempCents = money1.getCents() - money2.getCents();
return new Money(tempDollars, tempCents);
}
public String toString() {
return moneyFormatter.format(getDollars(), getCents());
}
}
以下是该程序的说明。这是学校的作业,但我不知道如何让toString方法返回$1.99格式的字符串
定义一个名为Money的类,其对象表示美国货币的数量。为此分配使用包名asgn1。提供的代码测试仪和类文件应位于此包中。类Money应该有两个int类型的实例变量,分别表示Money金额中的美元和美分。对于美元和美分,包括一个具有两个int类型参数的构造函数,一个具有一个int类型的构造函数(对于美元数量,包含零美分)和一个无参数构造函数。包括金额加减的加减法。这些方法应该是静态方法,每个方法都应该有两个Money类型的参数,并返回Money类型的值。包括一组合理的访问器和mutator方法以及equals和toString方法。toString方法应返回格式为$1.99的字符串(使用数字格式货币实例)。添加加减法的第二个版本。这些方法应与静态版本具有相同的名称,但使用调用对象和单个参数。例如,此版本的add方法(用于addition)有一个调用对象和一个参数。所以m1.add(m2)返回货币对象m1和m2相加的结果。请注意,您的类应该具有所有这些方法;例如,应该有两个名为add的方法。您没有正确调用format方法。请参阅文档-