私は C# と厳密に型指定された言語を初めて使用します。私は大学の課題をやっていますが、プログラムは意図したとおりに機能しています。しかし、私は 2 つの static void メソッドの見出しを変更して、戻り値の型を変更すると、減点されることを認識していませんでした。
Current method headings
static bool DispenseCash(double amount, int whichAccount, bool validAmount) and
static double WithdrawAmount(int whichAccount) must remain
What they need to be.
static void DispenseCash(double amount) and
static void WithdrawAmount(int whichAccount)
static void WithdrawAmount(int whichAccount)から変数金額を返し、それを static void DispenseCash(double amount) のパラメーターとして使用する方法がわからなかったため、それらを変更しました。
より大きな方法を使用して問題を解決するのではなく、両方の方法を使用することを余儀なくされています。
これが私のコードの一部であり、すべてをよりよく説明しています。これを短くするために、関連する部分のみを含めました。
int whichAccount = int.Parse(Console.ReadLine());
do
{
double amount = WithdrawAmount(whichAccount);
validAmount = DispenseCash(amount, whichAccount, validAmount);
} while (validAmount == false);
//end of relevant method calls in main
static double WithdrawAmount(int whichAccount)
{
Console.Write("\nPlease enter how much you would like to withdraw: $");
double amount = double.Parse(Console.ReadLine());
return amount;
}
//end WithdrawAmount
代わりに static void DispenseCash(double amount) である場合に続く DispenseCash メソッドでは、どのように int whichAccount と bool validAmount を渡し、そこから bool validAmount を返すことができますか。
private static bool DispenseCash(double amount, int whichAccount, bool validAmount)
{
int numOf20s;
int numOf50s;
double balenceMinusAmount = (accountBalances[whichAccount]) - Convert.ToInt32(amount);
if((Convert.ToInt32(amount) >= 1) && (Convert.ToInt32(amount) % 50 == 0) && (balenceMinusAmount >= accountLimits[whichAccount]))
{
numOf50s = Convert.ToInt32(amount) / 50;
numOf20s = (Convert.ToInt32(amount) % 50) / 20;
Console.WriteLine("Number of 50's = {0}", numOf50s);
Console.WriteLine("Number of 20's = {0}", numOf20s);
accountBalances[whichAccount] = (accountBalances[whichAccount]) - amount;
return validAmount = true;
}
else
{
Console.WriteLine("Invalid entry");
return validAmount = false;
}
}
メソッドの見出しはまったく変更できないことに注意してください。しかし、メソッド内でそれらの 1 つまたは新しいメソッドを呼び出すことができます。私はいくつかの異なることを試みましたが、すべての試みは失敗しました。