0

/ *こんにちは私はプログラミングの練習をしようとしている学生ですが、変数の1つを関数で機能させることができないようです。変数の値をユーザーが入力する必要がありますが、 Main関数ではなくPowerOf関数内で宣言します。n00bであると申し訳ありませんが、助けていただければ幸いです。[:* /

using System;

namespace ThePowerOf
{
    class MainClass
    {
        public static void Main (string[] args)
        {

            string sUserInput;
            int iUserNum1 = 0;
            int iUserNum2 = 0;
            int iPower = 0;

            Console.WriteLine ("Enter a number");
            sUserInput = Console.ReadLine();
            iUserNum1 = Int16.Parse(sUserInput);

            Console.WriteLine ("Enter a number");
            sUserInput = Console.ReadLine();
            iUserNum2 = Int16.Parse(sUserInput);

            iPower = PowerOf(iUserNum1);

            Console.WriteLine((iUserNum1) + (" To the power of ") + (iUserNum2) + (" = ") + (iPower));
            Console.ReadLine();

        }

        static int PowerOf(int iUserNum1)

        {   

        for (int i = 0; i < iUserNum2; ++i)

        {

        iUserNum1 = (iUserNum1 * iUserNum1);

        }       

        return iUserNum1;   

        }

    }
}
4

2 に答える 2

1

関数が間違った方法で宣言されました。単一のパラメーターを渡すことによって数値に累乗された累乗を計算するにはどうすればよいですか (値の 1 つが定数でない限り)

固定方法の減速:

    static int PowerOf(int iUserNum1, int iUserNum2)
    {
        int result = 1;
        for (int i = 0; i < iUserNum2; i++)
        {
            result = result*iUserNum1;
        }
        return result;
    }

そして、関数を呼び出す方法を変更して、2 つのパラメーターで適切に呼び出してください!

    static void Main()
    {
        string sUserInput;
        int iUserNum1 = 0;
        int iUserNum2 = 0;
        int iPower = 0;

        Console.Write("Enter a number : ");
        sUserInput = Console.ReadLine();
        iUserNum1 = Int32.Parse(sUserInput); // iUserNum1 is declared as 'int' so Int32.Parse()

        Console.Write("Enter a number to waise power to :");
        sUserInput = Console.ReadLine();
        iUserNum2 = Int32.Parse(sUserInput); // iUserNum2 is declared as 'int' so Int32.Parse()

        iPower = PowerOf(iUserNum1, iUserNum2);

        Console.WriteLine(iUserNum1 + " To the power of " + iUserNum2 + " = " + iPower);
        Console.ReadLine();
    }
于 2013-02-17T04:23:35.063 に答える
0

の宣言をiUserNum2クラス レベルに移動します。

class MainClass
{
    int iUserNum2 = 0; // PUT IT HERE
    public static void Main (string[] args)
    {

メソッドで宣言された変数は共有されません。クラス内で宣言された変数は共有されます (変数が非静的であり、非静的メソッドで使用されている場合..ただし、後で学習する必要があります)。

于 2013-02-17T04:23:45.047 に答える