別のクラスのメソッドで計算を行い、結果をコンソールに書き込もうとしています。私が今直面している問題は、オブジェクト参照に使用するインスタンスがないということです。他のすべてのメソッドを呼び出すメソッドが含まれているクラスの早い段階でインスタンス化したと思っていましたが、明らかに何かが正しくなく、それを機能させるために何をすべきかわかりません。数学の 2 番目のセクションでも同じエラーが表示されますが、これを修正できれば、2 番目のセクションも簡単に修正できるはずです。
class FruitGarden
{
private Apple apple;
private Banana banana;
static void Main(string[] args)
{
FruitGarden fruitGarden = new FruitGarden();
fruitGarden.EatFruits();
}
public void MakeFruits()
{
Apple apple = new Apple();
apple.apple(1.5);
Banana banana = new Banana();
banana.banana(3.5);
}
public void EatFruits()
{
double dblpercent;
MakeFruits();
Console.WriteLine("You have an Apple and a Banana in your fruit garden.\n");
Console.WriteLine("What Percent of the Apple would you like to eat?");
dblpercent = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("\nWhat Percent of the Banana would you like to eat?");
dblpercent = Convert.ToDouble(Console.ReadLine());
Console.Write("You have ");
apple.Eat(dblpercent);
Console.Write("% of your apple, and ");
banana.Eat(dblpercent);
Console.Write("% of your banana left.");
Console.ReadLine();
}
}
参照しようとしているリンゴクラスは次のとおりです。
class Apple : Fruit
{
public double Radius { get;set;}
public void apple(double radius)
{
Radius = Radius;
}
}
apple = new Apple();
リンゴが必要なインスタンスを作成すると思っていましたが、どうやらそうではありませんか?