2016-11-20 57 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

相關問題