简体   繁体   English

C#方法返回

[英]C# Method Return

I am writing a program which is about simple calculation in 3 different methods. 我正在编写一个程序,它涉及3种不同方法的简单计算。 My code is working okay, but it doesn't grab the result back to Main. 我的代码可以正常工作,但是无法将结果恢复回Main。

Can anyone help me to find what is the problem for me? 谁能帮助我找出问题所在?

Here is my code 这是我的代码

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;
}

Thank you in advance. 先感谢您。 :) :)

You have called the method from the main, that all process your inputs correctly and return the result to the main, but you have not received the values to a variable or displayed the return values from that method, display the result like the following: 您已经从主方法调用了该方法,所有方法都正确地处理了您的输入并将结果返回给主方法,但是您尚未收到变量的值或未显示该方法的返回值,因此结果显示如下:

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));

Let the inputs be 10 and 5 then the above code will displays the results as like the following: 假设输入为105则上面的代码将显示结果,如下所示:

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

or else use a variable to store the return value and then proceed with those values. 或者使用变量存储返回值,然后继续使用这些值。

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

Change your main method as below. 如下更改您的主要方法。

 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));


    }

Solution 1 : 解决方案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));
        }

Solution 2 : 解决方案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;
        }

The issue is that you are not printing the result to the console. 问题是您没有将结果打印到控制台。

You can do this in the following way: 您可以通过以下方式执行此操作:

 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;
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM