2017-04-03 86 views
0

我正在寫一個關於3種不同方法簡單計算的程序。 我的代碼工作正常,但它不會將結果返回到Main。C#方法返回

任何人都可以幫助我找到什麼是我的問題?

這裏是我的代碼

static void Main(string[] args) 
{ 
    Console.Write("Enter the first number\t"); 
    int number1 = Convert.ToInt32(Console.ReadLine()); 
    Console.Write("Enter the second number\t"); 
    int number2 = Convert.ToInt32(Console.ReadLine()); 

    sum(number1, number2); 
    difference(number1, number2); 
    multiplies(number1, number2);    
} 

public static int sum(int number1, int number2) 
{ 
    Console.WriteLine("Sum is:"); 
    return number1 + number2; 
} 

public static int difference(int number1, int number2) 
{ 
    Console.WriteLine("difference is:"); 
    return number1 - number2; 
} 

public static int multiplies(int number1, int number2) 
{ 
    Console.WriteLine("multiplies:"); 
    return number1 - number2; 
} 

預先感謝您。 :)

+3

你什麼都不做,以輸出結果。你期望它做什麼? –

+1

除了其他人所說的,1)不要在你的方法中使用Console.Writeline,在主要方法中執行,只是在函數中執行總和/差異/倍數等等。2)使用標準C#命名約定,這意味着方法從首都開始。 –

+0

非常感謝您的評論! –

回答

0

您已經從main調用該方法,所有處理您的輸入都正確並將結果返回給main,但您尚未收到變量的值或顯示該方法的返回值,則顯示導致這樣的:

Console.Write("{0} + {1} = {2}",number1,number2,sum(number1, number2)); 
console.Write("{0} - {1} = {2}",number1,number2,difference(number1, number2)); 
Console.Write("{0} * {1} = {2}",number1,number2,multiplies(number1, number2)); 

讓輸入是105然後將上面的代碼顯示結果如下所示:

10 + 5 = 15 
10 - 5 = 5 
10 * 5 = 50 

或者使用變量來存儲第r eturn值,然後繼續這些值。

int sumResult = sum(number1, number2); 
int diffResult = difference(number1, number2); 
int mulResult = multiplies(number1, number2); 
+0

令人驚歎!非常感謝!! :) –

+0

如果它真的幫助你,你可以將它標記爲[accepted](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

0

改變你的主要方法如下。

static void Main(string[] args) 
    { 

     Console.Write("Enter the first number\t"); 
     int number1 = Convert.ToInt32(Console.ReadLine()); 
     Console.Write("Enter the second number\t"); 
     int number2 = Convert.ToInt32(Console.ReadLine()); 

     Console.WriteLine(sum(number1, number2)); 
     Console.WriteLine(difference(number1, number2)); 
     Console.WriteLine(multiplies(number1, number2)); 


    } 
+0

真的很有幫助。非常感謝你:) –

0

解決方案1:

static void Main(string[] args) 
     { 

      Console.Write("Enter the first number\t"); 
      int number1 = Convert.ToInt32(Console.ReadLine()); 
      Console.Write("Enter the second number\t"); 
      int number2 = Convert.ToInt32(Console.ReadLine()); 

      sum(number1, number2); 
      difference(number1, number2); 
      multiplies(number1, number2); 
     } 

     public static void sum(int number1, int number2) 
     { 
      Console.WriteLine(string.Format("Sum is: {0}", number1 + number2)); 
     } 

     public static void difference(int number1, int number2) 
     { 
      Console.WriteLine(string.Format("difference is: {0}", number1 - number2)); 
     } 
     public static void multiplies(int number1, int number2) 
     { 
      Console.WriteLine(string.Format("multiplies : {0}", number1 * number2)); 
     } 

解決方案2:

static void Main(string[] args) 
     { 

      Console.Write("Enter the first number\t"); 
      int number1 = Convert.ToInt32(Console.ReadLine()); 
      Console.Write("Enter the second number\t"); 
      int number2 = Convert.ToInt32(Console.ReadLine()); 

      Console.WriteLine(sum(number1, number2)); 
      Console.WriteLine(difference(number1, number2)); 
      Console.WriteLine(multiplies(number1, number2)); 

     } 

     public static int sum(int number1, int number2) 
     { 
      Console.WriteLine("Sum is:"); 
      return number1 + number2; 
     } 

     public static int difference(int number1, int number2) 
     { 
      Console.WriteLine("difference is:"); 
      return number1 - number2; 
     } 
     public static int multiplies(int number1, int number2) 
     { 
      Console.WriteLine("multiplies:"); 
      return number1 * number2; 
     } 

的問題是,你是不是打印結果到控制檯。

+0

哇...太棒了..非常感謝你! :) –

0

您可以通過以下方式做到這一點:

static void Main(string[] args) 
     { 
      Console.Write("Enter the first number\t"); 
      int number1 = Convert.ToInt32(Console.ReadLine()); 
      Console.Write("Enter the second number\t"); 
      int number2 = Convert.ToInt32(Console.ReadLine()); 
      int result1=sum(number1, number2); 
      Console.WriteLine(result1); 
      int result2=difference(number1, number2); 
      Console.WriteLine(result2); 
      int result3=multiplies(number1, number2); 
      Console.WriteLine(result3); 
      Console.ReadLine(); 
     } 
     public static int sum(int number1, int number2) 
     { 
      Console.WriteLine("Sum is:"); 
      return number1 + number2; 
     } 

     public static int difference(int number1, int number2) 
     { 
      Console.WriteLine("difference is:"); 
      return number1 - number2; 
     } 
     public static int multiplies(int number1, int number2) 
     { 
      Console.WriteLine("multiplies:"); 
      return number1*number2; 
     } 
+0

易於檢查! :)非常感謝你:) –

+0

@雷切爾金,如果它對你有用。請接受我作爲答案 –