2016-11-20 100 views
0

我是新来的c#和面向对象的编程,所以请原谅我,如果这是一个nooby的问题,但我还不太熟悉一切。 我想要求用户输入第一个类中的方法,然后将此值返回到第二个类中的方法,以计算最终成本。我知道如何通过构造函数传递设置值,但据我所知,这将是罚款,但我需要一个输入值,而不是设置值。 (此代码只是有点从我的主程序)如何将用户输入值返回给另一个类? 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(); 

    } 
} 

,所以我想使用来自TableNumber方法在我CalculateBill类的数量,而不是通过对一个已经设定的值。我试着用TO.AddDrink();但我没有得到任何地方。这只是我整体代码的一小部分,所以发生的事情可能不会太多,但我只想访问另一个类中的tablenumber值。 预先感谢您!

+2

你为什么不调用'TableNumber'方法?这就是你所做的,对吧? – UnholySheep

回答

0

变化int tablenumber;public int tablenumber;,然后在CalculateBill呼叫TO.TableNumberTO.tablenumber取代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"); 
     } 

    }   
} 
+0

为什么你想让'int tablenumber'公开? – UnholySheep

+0

'public int tablenumber;' –

+0

这不是对我的问题的有效答复。我想知道*为什么*你想这样做(或者认为有必要) – UnholySheep

相关问题