【发布时间】:2013-01-21 10:20:16
【问题描述】:
我不断收到错误“Money 类中的构造函数 Money 不能应用于给定类型;必需:无参数;找到 int、int;原因:实际和正式参数列表的长度不同”
另外这里是我将要评分的程序的目标列表,如果您发现我的代码中有任何其他我可能会在以后遇到的错误,请随时为我指出!
使用 BlueJ 创建一个包含两个整数实例变量(美元和美分)的 Money 类。 提供以下方法:
- 用于初始化实例变量的两参数构造函数。构造函数 应该检查美分值是否在 0 到 99 之间,如果不是,则转移一些 美分到美元变量,使其介于 0 和 99 之间。
- 将美元初始化为 0 并将美分初始化为 1 的默认构造函数。它应该调用 两参数构造函数。
- 一个参数构造函数,在设置美分时初始化美分值 美元值到 0。此构造函数还应检查美分值是否为 在 0 到 99 之间,如果不是,则将一些美分转移到美元变量中 使其介于 0 到 99 之间。
- 美元和美分的存取器
- 标准 toString 方法
- 比较两个 Money 对象是否相同的标准 equals 方法 状态。
- 将 Money 对象作为其参数的 plus 方法。它创建并返回一个 新的 Money 对象,表示其 plus() 方法为的对象的总和 被调用和参数。它不会修改两个现有的值 对象。
最后,创建一个创建多个 Money 对象的 MoneyDemo 类。这个演示课 应该测试你已经实现的所有构造函数和方法。
这是我的代码:
public class Money
{
private int dollars, cents;
private static final int CENTS_PER_DOLLAR = 100;
public void checkMoney(int dollars, int cents)
{
while (cents<0)
{
cents += 100;
dollars--;
}
while (cents>99)
{
cents -= 100;
dollars++;
}
}
public Money()
{
this.cents = 1;
this.dollars = 0;
}
public void initializeCents(int cents)
{
while (cents<0)
{
cents += 100;
dollars--;
}
while (cents>99)
{
cents -= 100;
dollars++;
}
}
public int getDollars()
{
return dollars;
}
public int getCents()
{
return cents;
}
public String toString()
{
String str;
dollars = dollars + cents / CENTS_PER_DOLLAR;
cents = cents % CENTS_PER_DOLLAR;
str = "Your total amount is: " + "$" + dollars + "." + cents +"";
return str;
}
public Money plus(Money y)
{
return new Money(y.dollars, y.cents);
}
}
public class MoneyDemo
{
public static void main(String[] args)
{
int dollars = 5;
int cents = 80;
Money x = new Money( dollars, cents);
x.checkMoney();
dollars = 7;
cents = 70;
Money y = new Money( dollars, cents);
y.checkMoney();
USMoney z = x.plus(y);
System.out.println( "x: $" + x.dollars + "." + x.cents + "c");
System.out.println( "y: $" + y.dollars + "." + y.cents + "c");
System.out.println( "x.plus(y): $" + z.dollars + "." + z.cents + "c");
}
}
【问题讨论】:
标签: java methods parameters constructor compiler-errors