2016-04-21 2 views
1

私はこれについて多くのダウン投票を得るかもしれないことを知っていますが、私はちょうどc#でちょっといいですが、まだ行く時間があります。誰かが私を助けてくれたら、本当にIDは感謝しています。私のアプリケーションは、ほとんどがdailyMenuというクラスに含まれています。クラスは、これらのフィールドがあります。私は私の主な方法で私のdailymenuクラスのオブジェクトを作成する必要がありました、ユーザ入力に基づいてエントリーが配信される日数のリストを出力するメソッドを書く方法は?

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; } 
} 

次へ:

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 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()); 
     } 
    } 
} 

そして今、私は、ユーザーが上記のメインディッシュの一つに入った後、コンソールが入力された前菜が上提供されるですべての日をプリントアウトすることを機能を思い付くしようとしています。また、2D配列を引数として取ります。 これまで私が思いついたのはこれです。

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()); 
      } 

     } 
    } 

答えて

3

あなたは何時にエントリーがあるのか​​を記入する必要があります。現在、デフォルト値に初期化しているので、毎日のエントリーは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}"); 
       } 

      } 
     } 
+0

私はそれが理にかなっていることを見ていますが、あなたはそれがどのように機能するか説明することができますか? –

+0

どのように動作するのかわかりませんか?あなたが投稿したコードを書かなかったのですか? 'daysOfMonth'は' dailyMenu'オブジェクトの配列です。この配列には、 'daysOfMonth [column、row] = dm'と書いておきます。その日のエントリーを設定するには、その行の前に 'dm.Entree =" Spagehetti ";'を実行します。すべての 'dailyMenu'オブジェクトは' Entree'という名前の文字列プロパティを持っています。その答えのように、その日のEntreeとレスポンスを比較するだけです。 'daysOfMonth'配列に' dailyMenu'オブジェクトが含まれていることをより明確にするために編集します。 – Quantic

+0

私は理解しています、これは私のコードです、私は物事の良い説明を見るのが好きですが、ありがとうございます。 –

関連する問題