0

私は100のfrostDaysで終わりたいと思っていますが、間違っていると思います.

その唯一の for ループ + 配列コード。

for (int i = 0; i < 100; i++)
{

  System.Random RandNum = new System.Random();
  int nyrHiti = RandNum.Next(-10, 50);
  Console.WriteLine(nyrHiti);
  int[] frostDays = new int[100];

}

Console.ReadLine();                    

Console.WriteLine(frostDays[0]);
Console.ReadLine();
4

4 に答える 4

6

あなたが何をしているのかわかりませんが、あなたのコードには、簡単に修正できるいくつかの一般的なエラーがあります。

System.Random RandNum = new System.Random();
int[] frostDays = new int[100];
for (int i = 0; i < 100; i++) {
    int nyrHiti = RandNum.Next(-10, 50);
    Console.WriteLine(nyrHiti);
    frostDays[i] = nyrHiti;
}
Console.ReadLine();

Console.WriteLine(frostDays[0]);
Console.ReadLine();

これにより、おそらく意図したものに近づくことができます。Randomループの外側のインスタンスを宣言する必要があります。frostDaysそのforため、後で必要になったときにスコープ内に残りfrostDays[i]ます。それ以外の場合は、長さ100のゼロ配列に割り当てる必要があります。

于 2012-04-10T13:00:29.500 に答える
2

frostDaysにローカルスコープがあるため、これは機能しませんfor-loop。で使用できるようにするには、ループの外で宣言する必要がありますConsole.WriteLine(...)。しかし、それは0でいっぱいになるので、ここで何をするつもりだったのかわかりません.

于 2012-04-10T12:59:11.693 に答える
1

配列はループ内で宣言され、その可視性はこのループに制限されます。ループの外側で宣言すると、機能します。

int[] frostDays = new int[100];

for (int i = 0; i < 100; i++)
{    
    System.Random RandNum = new System.Random();
    int nyrHiti = RandNum.Next(-10, 50);
    Console.WriteLine(nyrHiti);
}
Console.ReadLine();

Console.WriteLine(frostDays[0]);
Console.ReadLine();

ただし、何もしないため、毎回0が返されます。たぶんあなたが望むのはi、タブのthの値をあなたが選んだばかりの乱数に設定することですか?この場合、frostDays[i] = nyrHitiループ本体の端で使用します。

于 2012-04-10T12:59:51.897 に答える
0

ループの外側でfrostDaysを定義する必要があります。

于 2012-04-10T13:00:17.033 に答える