簡體   English   中英

如何從另一個類到主類調用函數

[英]How to call a function from another class to main class

我創建了另一個類(計算),並在其中創建了一個函數來檢查數字是偶數還是奇數。 我想在程序類中調用此函數,以便它可以檢查變量(結果)是偶數還是奇數。

我試圖調用該方法,如:CheckEvenOrOdd(result)。

class Program
{
    static void Main(string[] args)
    {
        int number1;
        int number2;
        int result;

        Console.Write("Enter a number: ");
        number1 = int.Parse(Console.ReadLine());

        Console.Write("Enter a second number: ");
        number2 = int.Parse(Console.ReadLine());

        result = number2 * number2;

        Console.WriteLine($"The total is: {result} ");
        Console.WriteLine("AND");

       // i tried this here but it doesn't work: CheckEvenOrOdd(result)

    }


}


class Calculations
{
    public static void CheckEvenOrOdd(int numb)
    {
        if (numb % 2 == 0)
        {
            Console.WriteLine("The number is even");

        }
        else
        {
            Console.WriteLine("The number is odd ");
        }

    }

}

由於您的方法位於不同的類中,因此必須將其設置為靜態,然后先按類名然后按方法名進行調用。 如果不是靜態的,則必須先實例化該類的新實例,然后才能訪問其任何方法。

(順便說一下,您要將number2乘以number2,並在下面提供的代碼中也為您進行了更改)

靜態的:

class Program
{
    static void Main(string[] args)
    {
        int number1;
        int number2;
        int result;

        Console.Write("Enter a number: ");
        number1 = int.Parse(Console.ReadLine());

        Console.Write("Enter a second number: ");
        number2 = int.Parse(Console.ReadLine());

        result = number1 * number2;

        Console.WriteLine($"The total is: {result} ");
        Console.WriteLine("AND");

        Calculations.CheckEvenOrOdd(result);
        Console.ReadLine();
     }
}

public static class Calculations
{
    public static void CheckEvenOrOdd(int numb)
    {
        if (numb % 2 == 0)
        {
            Console.WriteLine("The number is even");
        }
        else
        {
            Console.WriteLine("The number is odd ");
        }
    }
}

不是靜態的:

class Program
{
    static void Main(string[] args)
    {
        int number1;
        int number2;
        int result;

        Console.Write("Enter a number: ");
        number1 = int.Parse(Console.ReadLine());

        Console.Write("Enter a second number: ");
        number2 = int.Parse(Console.ReadLine());

        result = number1 * number2;

        Console.WriteLine($"The total is: {result} ");
        Console.WriteLine("AND");

        Calculations calc = new Calculations();
        calc.CheckEvenOrOdd(result);
        Console.ReadLine();
     }
}

public class Calculations
{
    public void CheckEvenOrOdd(int numb)
    {
        if (numb % 2 == 0)
        {
            Console.WriteLine("The number is even");
        }
        else
        {
            Console.WriteLine("The number is odd ");
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM