「クラス Money のコンストラクター Money は指定された型に適用できません。必須: 引数がありません。int、int が見つかりました。理由: 実際の引数リストと正式な引数リストの長さが異なります」というエラーが表示され続けます。
また、ここに私が採点するプログラムの目的のリストがあります。後で実行する可能性のあるコードの他のエラーに気付いた場合は、遠慮なく指摘してください。
BlueJ を使用して、ドルとセントの 2 つの整数インスタンス変数を持つ Money クラスを作成します。次のメソッドを提供します。
- インスタンス変数を初期化する 2 パラメーターのコンストラクター。コンストラクターは、セントの値が 0 から 99 の間であることを確認し、そうでない場合は、セントの一部をドル変数に転送して、0 から 99 の間にする必要があります。
- ドルを 0 に、セントを 1 に初期化する既定のコンストラクター。2 つのパラメーターのコンストラクターを呼び出す必要があります。
- ドルの値を 0 に設定しながらセントの値を初期化する 1 パラメーター コンストラクター。そして99。
- ドルとセントのアクセサ
- 標準の toString メソッド
- 2 つの Money オブジェクトが同じ状態であるかどうかを比較する標準の equals メソッド。
- Money オブジェクトをパラメーターとして受け取る plus メソッド。plus() メソッドが呼び出されているオブジェクトとパラメーターの合計を表す新しい Money オブジェクトを作成して返します。2 つの既存のオブジェクトの値は変更されません。
最後に、複数の 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");
}
}