c# - 哪个参数需要在 switch 中使用 Case 来调用对象的方法?
问题描述
我想在 C# 中使用类 moneyBox 构建一个存钱罐应用程序。现在我有一些问题要调用一个方法来更改我的对象中的硬币属性。我想通过调用我的方法来构建开关,就像一个带有案例存款的菜单。案例“存款”需要一个参数来调用该方法,但我不知道它需要哪个参数。也许有人可以帮助我。
class Program
{
public static List<moneyBox> moneyBoxes = new List<moneyBox>();
public static void AddmoneyBox()
{
moneyBox myMoneyBox = new moneyBox();
Console.WriteLine("Nennen Sie den Namen Ihres neuen Sparschweins:");
myMoneyBox.Name = Console.ReadLine();
moneyBoxes.Add(myMoneyBox);
}
static void DepositMoney(moneyBox myMoneyBox)
{
Console.WriteLine("Bitte geben Sie an wie viele einzelne Cent und Euro Stücke sie einzahlen möchten:");
Console.WriteLine("\n");
Console.WriteLine("Wie viele ein Cent Münzen möchten Sie einzahlen?");
myMoneyBox.OneCent += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele zwei Cent Münzen möchten Sie einzahlen?");
myMoneyBox.TwoCent += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele fünf Cent Münzen möchten Sie einzahlen?");
myMoneyBox.FiveCent += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele zehn Cent Münzen möchten Sie einzahlen?");
myMoneyBox.TenCent += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele zwanzig Cent Münzen möchten Sie einzahlen?");
myMoneyBox.TwentyCent += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele fünfzig Cent Münzen möchten Sie einzahlen?");
myMoneyBox.FifftyCent += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele ein Euro Münzen möchten Sie einzahlen?");
myMoneyBox.OneEuro += Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wie viele zwei Euro Münzen möchten Sie einzahlen?");
myMoneyBox.TwoEuro += Convert.ToInt32(Console.ReadLine());
}
public static void PrintMoneyBoxes(moneyBox newMoneyBox)
{
newMoneyBox.SumEuro = newMoneyBox.OneEuro + newMoneyBox.TwoEuro;
newMoneyBox.SumCent = newMoneyBox.OneCent + newMoneyBox.TwoCent + newMoneyBox.FiveCent + newMoneyBox.TenCent + newMoneyBox.TwentyCent + newMoneyBox.FifftyCent;
Console.WriteLine("Sparschwein von:");
Console.WriteLine(newMoneyBox.Name);
Console.WriteLine("Ein Cent Münzen:");
Console.WriteLine(newMoneyBox.OneCent);
Console.WriteLine("Zwei Cent Münzen:");
Console.WriteLine(newMoneyBox.TwoCent);
Console.WriteLine("Fünf Cent Münzen:");
Console.WriteLine(newMoneyBox.FiveCent);
Console.WriteLine("Zehn Cent Münzen:");
Console.WriteLine(newMoneyBox.TenCent);
Console.WriteLine("Zwanzig Cent Münzen:");
Console.WriteLine(newMoneyBox.TwentyCent);
Console.WriteLine("Fünfzig Cent Münzen:");
Console.WriteLine(newMoneyBox.FifftyCent);
Console.WriteLine("ein Euro Münzen:");
Console.WriteLine(newMoneyBox.OneEuro);
Console.WriteLine("Zwei Euro Münzen:");
Console.WriteLine(newMoneyBox.TwoEuro);
Console.WriteLine("************************");
Console.WriteLine("Der Inhalt Ihres Sparschweins beträgt: " + newMoneyBox.SumEuro + "," + newMoneyBox.SumCent);
}
public static void ListOfMoneyBoxes()
{
foreach (var owner in moneyBoxes)
{
PrintMoneyBoxes(owner);
}
return;
/*string nameOfMoneyBox = Console.ReadLine();
//if ()
{
//Menü zum Ein-/ Auszahlen
}*/
}
static void Main(string[] args)
{
string command = "";
while(command != "exit")
{
Console.Clear();
Console.WriteLine("WILLKOMMEN ZU IHREM DIGITALEN SPARSCHWEIN");
Console.WriteLine(">***************************************<");
Console.WriteLine("\n");
Console.WriteLine("Erstellen Sie ein neues Sparschwein und nehmen Sie Einzahlungen oder Auszahlungen vor:");
Console.WriteLine("\n");
Console.WriteLine("Erstellen eines neuen Sparschweins: (e)");
Console.WriteLine("Inhalt Ihres Sparschweins: (i)");
Console.WriteLine("Zahlen Sie Geld in Ihr Sparschwein ein: (+)");
command = Console.ReadLine().ToLower();
switch(command)
{
case "e":
AddmoneyBox();
break;
case "i":
ListOfMoneyBoxes();
break;
case "+":
DepositMoney();
break;
}
}
解决方案
推荐阅读
- javascript - 在 Javascript 文件中使用带有 JSON 数据的大小写切换
- python - keras model.save() 引发 NotImplementedError
- regex - 用完 Perl 的命令管道在 sed 前置路径时失败
- node.js - req.handle.writev 不是函数
- angular - 错误 TS1192:模块 @types/lodash/index 没有默认导出
- ios - 我想在 Swift UIPickerView 中保存一个选定的选项
- python - 在python中清除STDOUT中的当前行
- php - Codeigniter - 显示和编辑记录的最后一个 ID
- android-studio - ViewModelProviders.of(活动)错误
- docker - Vagrant 上的 Docker0 问题