0

さて、現時点では、私自身はプログラミングとそれをゆっくりと学ぶことに慣れていません。現在、プログラミングをよりよく理解するためにプログラミングクラスを受講しています。私は私を困惑させた問題に遭遇しました。

これで、提供したものとは異なる方法と方法で割り当てを行うことができます。私の質問は、なぜこれが起こっているのかということです。エラーは発生しませんが、コンソールフェズを入力した後にのみ発生します。何が悪かったのか知りたい。

static void Main(string[] args)
{

    double[] Population = new double[6];
    string[] Years = { "2", "3", "4", "5", "6", "7" };
    double GrowthPercentage = 0.0;
    double MathPercentage = 0.0000;
    double ActualGrowth = 0.0;
    int WhileCounter = 0;

    //Ask user for Population of Roarkville
    Console.WriteLine("Enter the Population of RoarkVille: ");
    //Read Population and store
    Population[0] = Convert.ToDouble(Console.ReadLine());
    //Ask user for Growth percentage
    Console.WriteLine("Enter the Growth percentage ");
    //Read Growth Percentage
    GrowthPercentage = Convert.ToDouble(Console.ReadLine());
    //Calculation of Growth Percentage: Growth Percentage/100 = Math Percentage 
    MathPercentage = GrowthPercentage / 100;
    //ActualGrowth = Population * Math Percentage 

    //Population2 = ActualGrowth + Population 

    while (WhileCounter < 5)
    {
       ActualGrowth = Population[WhileCounter] + MathPercentage;

       WhileCounter++;

       Population[WhileCounter] = ActualGrowth + Population[WhileCounter--];
    }

    for (int i = 0; i < Population.Length; i++)
    {
        Console.WriteLine("Population of 201{0:d}", Years[i]);
        Console.WriteLine(Population[i]);
    }
    //Display 2012 Population 

    //Display 2013 Population 

    //Display 2014 Population 

    //Display 2015 Population 

    //Display 2016 Population 

    //Display 2017 Population

    Console.ReadLine();
}
4

4 に答える 4

3

このコードを使用して成長率を入力すると、次のようになります。

    while (Counter < 5)
    {
    ActualGrowth = Population[Counter] + MathPercentage;

    Counter++;

    Population[Counter] = ActualGrowth + Population[Counter--];
    }

    for (int i = 0; i < Population.Length; i++)
    {
    Console.WriteLine("Population of 201{0:d}", Years[i]);
    Console.WriteLine(Population[i]);
    }

入力する数値は、成長率で無限になります。

これもあなたを助けることができます

    while (Counter < 5)
    {
    ActualGrowth = Population[Counter] + MathPercentage;

    Counter++;

    Population[Counter] = ActualGrowth + Population[Counter-1];
    }

    for (int i = 0; i < Population.Length; i++)
    {
    Console.WriteLine("Population of 201{0:d}", Years[i]);
    Console.WriteLine(Population[i]);
    }
于 2012-06-19T00:39:23.187 に答える
2

++ 演算子は変数の実際の値を変更するためWhileCounter++、変数を 1 増やします。

-- 演算子は同じことを行いますが、これは行でやりたいことではありません

Population[WhileCounter] = ActualGrowth + Population[WhileCounter--];

代わりに、次WhileCounter - 1のように使用します

Population[WhileCounter] = ActualGrowth + Population[WhileCounter - 1];
于 2012-06-18T23:19:13.490 に答える
0
WhileCounter++;

Population[WhileCounter] = ActualGrowth + Population[WhileCounter--];

WhileCounterループに関する限り、の値は変更されません。ループ本体では、インクリメントWhileCounterしてすぐにデクリメントするため、条件WhileCounter < 5は常に真です。

あなたも書いたかもしれません

int WhileCounter = 0;
while(WhileCounter < 5)  
{
    WhileCounter += 1;  // WhileCounter == 1
    WhileCounter -= 1;  // WhileCounter == 0
}

// aint never gunna happen
于 2012-06-18T23:15:09.953 に答える
0

You should read up on the following operators and understand what they actually do:

--

++

于 2012-06-18T23:15:33.607 に答える