リストにあるアイテムをコンソールに表示しようとしていますが、何かが紛れているかどうかわかりませんが、達成するために何をすべきか分かりませんこの。最初の学期からの私のプログラミングクラスは、基本的に私に何も教えていませんでした。私は自分でビットとピースを学習していました。だから、たくさんのことをする方法は無駄です。どんな助けでも大歓迎です。リスト内のオブジェクトをList内の別のクラスから表示する
public class VendingMachine
{
public List<Snack> snax = new List<Snack>();
public List<Drink> drinx = new List<Drink>();
public void displayInventory()
{
foreach (Snack s in snax)
{
Console.WriteLine("test");
Console.WriteLine(s.ToString());
}
Console.WriteLine("\n");
foreach (Drink d in drinx)
{
Console.WriteLine(d.ToString());
}
}
}
public abstract class Items
{
public string name;
public int calories;
public Items(string name, int calories)
{
this.name = name;
this.calories = calories;
}
public override string ToString()
{
return (name + " " + calories);
}
}
public class Drink : Items
{
int flOz;
public Drink(string name, int calories, int flOz) : base(name, calories)
{
this.name = name;
this.calories = calories;
this.flOz = flOz;
}
}
public class Snack : Items
{
int oz;
public Snack(string name, int calories, int oz) : base(name, calories)
{
this.name = name;
this.calories = calories;
this.oz = oz;
}
}
public class Program
{
public static void Main(string[] args)
{
VendingMachine Vend1 = new VendingMachine();
Vend1.snax.Add(new Snack("Cookies", 125, 8));
Vend1.snax.Add(new Snack("Chips", 100, 8));
Vend1.snax.Add(new Snack("Nuts & Berries", 80, 8));
Vend1.drinx.Add(new Drink("Soda", 180, 12));
Vend1.drinx.Add(new Drink("Water", 0, 12));
Vend1.drinx.Add(new Drink("Juice", 90, 12));
var invoke = new VendingMachine();
invoke.displayInventory();
}
}
}
更新
継承に私は印刷するリストを得たが、私はアイテムとカロリーだけでなく印刷する方法を知っておく必要がありますが、また、オンス/ flOzクラス。どうすればいい?私は割り当てを見て、それは文字列のオーバーライドを微調整すると言いますが、私は何を配置するか分からない。あなたはVend1
と呼ばれるオブジェクトに在庫を追加しているが、その後、あなたはinvoke
と呼ばれる二VendingMachine
オブジェクトを作成し、それがinvoke.displayInventory()
(というよりもVend1.displayInventory()
でVend1
の在庫を表示する)との在庫です表示されているあなたのMain()
機能で
public class Program
{
public static void Main(string[] args)
{
VendingMachine Vend1 = new VendingMachine();
Vend1.snax.Add(new Snack("Cookies", 125, 8));
Vend1.snax.Add(new Snack("Chips", 100, 8));
Vend1.snax.Add(new Snack("Nuts", 80, 8));
Vend1.drinx.Add(new Drink("Soda", 180, 12));
Vend1.drinx.Add(new Drink("Water", 0, 12));
Vend1.drinx.Add(new Drink("Juice", 90, 12));
Vend1.displayInventory();
}
}
私はConsole.Write(Vend1)をやってみました。名前空間を表示するだけです。 –
Vend1.displayInventory()はすべてのスナックと飲み物の名前と姓を表示します。それは動作しませんか? 変数Vend1を印刷すると、Vend1.ToString()が呼び出され、それが表示されます。 ToStringがオーバーライドされていない場合、デフォルトのimplimationは名前空間とクラスです。 –
@ Rahulこれは私が書いたものです。 –