Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复错误-NumberFormat类型中的方法格式(double)不适用于参数(int,int)_Java - Fatal编程技术网

Java 如何修复错误-NumberFormat类型中的方法格式(double)不适用于参数(int,int)

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

包装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.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方法。请参阅文档-