我是c#和面向对象编程的新手,所以请原谅我这是一个不成熟的问题,但我还不熟悉所有内容。 我想要求用户输入第一个类中的方法,然后将此值返回到第二个类中的方法,以计算最终成本。我知道如何通过构造函数传递一个设置值,但据我所知,这很好但是我需要输入值而不是设置值。 (这段代码只是我的主程序中的一点)
class TableOrder
{
string inputtablenumber;
int tablenumber;
public int TableNumber()
{
Console.Write("please enter the table number:");
inputtablenumber = Console.ReadLine();
tablenumber = int.Parse(inputtablenumber);
return tablenumber;
}
}
class TableBill
{
public void CalculateBill()
{
TableOrder TO = new TableOrder();
TO.AddDrink();
if (tablenumber >= 6 & tablenumber < 10)
{
Console.Write("You are due a 10% discount");
}
if (tablenumber > 10)
{
Console.Write("you are due a 15% discount");
}
}
}
class Program
{
static void Main(string[] args)
{
TableBill TB = new TableBill();
TB.CalculateBill();
}
}
所以我想在我的CalculateBill类中使用来自TableNumber方法的数字,而不是传递已经设置的值。我试过TO.AddDrink();但我没有到达任何地方。这只是我整个代码的一小部分,所以发生的事情可能不会太多,但我只是想在另一个类中访问这个tablenumber值。 提前谢谢!
答案 0 :(得分:0)
将int tablenumber;
更改为public int tablenumber;
,然后在CalculateBill
致电TO.TableNumber
,并将tablenumber
替换为TO.tablenumber
。
可替换地:
public void CalculateBill()
{
TableOrder TO = new TableOrder();
var tablenumber = TO.TableNumber();
TO.AddDrink();
if (tablenumber >= 6 & tablenumber < 10)
{
Console.Write("You are due a 10% discount");
}
if (tablenumber > 10)
{
Console.Write("you are due a 15% discount");
}
}
}