2017-04-03 90 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

@雷切尔金,如果它对你有用。请接受我作为答案 –