如何编写一个方法,根据用户输入打印主菜单将被投放的日期列表?
问题描述:
我知道我可能会为此获得很多赞成票,但我只是在c#
稍微好点,但还是有一段时间。如果有人能帮助我,我真的很感激。我的申请主要是一个名为dailyMenu
的课程。这个类有以下字段:如何编写一个方法,根据用户输入打印主菜单将被投放的日期列表?
public class dailyMenu
{
private string day = "";
private int date = 0;
public string entree { get; private set; }
private double price;
private double calories;
static int initalDate = 1;
static string[] daysOfWeek = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
static string[] entrees = {"Beef Tenderloin Fresco", "Madagascar Filet Mignon", "Filet Mignon", " Lobster Ravioli", "Asian Infused Braised Beef", "New Age Chicken Cordon Bleu", "Short Ribs", " Beef Wellington",
"Fajitas", "Bacon Cheeseburger", " Beef Burgandy", "Spagehetti"};
static double[] entreePrices = { 5.99, 7.99, 6.99, 4.50, 9.99, 10.29, 5.67, 8.99, 3.99, 4.78, 10, 79, 6.98 };
static int[] entreeMealCaloricVal = { 999, 1288, 770, 699, 450, 999, 1500, 873, 911, 1011, 777, 500 };
这是我的属性:
public string Day
{
get { return day; }
set { day = value; }
}
public int Date
{
get { return date; }
set { date = value; }
}
public string Entree
{
get { return entree; }
set { entree = value; }
}
public double Price
{
get { return price; }
set { price = value; }
}
public double Calories
{
get { return calories; }
set { calories = value; }
}
接下来,我在我的主要方法创建我dailymenu
类的对象。
public static void Main(string[] args)
{
dailyMenu[,] daysOfMonth = new dailyMenu[4, 5];
for (int column = 0; column < daysOfMonth.GetLength(0); column++)
{
for (int row = 0; row < daysOfMonth.GetLength(1); row++)
{
dailyMenu dm = new dailyMenu();
daysOfMonth[column, row] = dm;
Console.WriteLine(dm.ToString());
}
}
}
而现在,我试图想出一个功能,用户在上面的主菜之一进入后,控制台会打印出所有的日子在其中输入的主菜将送达。它也需要一个二维数组作为参数。 这就是我到目前为止所提出的。
static void entreeSearch(dailyMenu[,] daysOfMonth)
{
Console.WriteLine("PLease enter the entree you'd like to search for today :)");
string response = Console.ReadLine();
response = response.ToUpper();
for (int column = 0; column < daysOfMonth.GetLength(0); column++)
{
for (int row = 0; row < daysOfMonth.GetLength(1); row++)
{
if (response ==)
{
dailyMenu dm = new dailyMenu();
daysOfMonth[column, row] = dm;
Console.WriteLine(dm.ToString());
}
}
}
答
那么你需要填写哪一天有什么主菜。目前您正在初始化为默认值,因此每一天的主菜都是null
。但一旦你解决这个问题,这应该工作:
static void entreeSearch(dailyMenu [,] daysOfMonth)
{
Console.WriteLine ("PLease enter the entree you'd like to search for today :)");
string response = Console.ReadLine();
response = response.ToUpper();
for (int column = 0; column < daysOfMonth.GetLength(0); column++)
{
for (int row = 0; row < daysOfMonth.GetLength(1); row++)
{
dailyMenu dailyMenuAtThisRowAndColumn = daysOfMonth[column, row];
if (dailyMenuAtThisRowAndColumn.Entree.ToUpper() == response)
{
Console.WriteLine($"Entree {response} was found on day {daysOfMonth[column, row].Day}");
}
}
}
看到它很有趣现在,我认为它是有道理的,但你能向我解释它是如何工作的? –
你不知道它是如何工作的?你没有写过你发布的代码吗? 'daysOfMonth'是'dailyMenu'对象的数组。你用这一行填入数组,'daysOfMonth [column,row] = dm'。要设定每一天的主菜,你可以在该行之前做,'dm.Entree =“Spagehetti”;'。每个'dailyMenu'对象都有一个名为'Entree'的字符串属性,所以我们只需将当天的Entree与响应进行比较,如我的答案所示。我将对其进行编辑,以使“daysOfMonth”数组包含“dailyMenu”对象。 – Quantic
我明白,这是我的代码,我只是想看看事情的一个很好的解释,但非常感谢你 –