2012-04-10 14 views
0

私は100霜日に終わりたいですが、間違っていると思います。frostDaysは存在しません

ループ+アレイコードのみです。

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(); 
+0

質問に直接関連するものはありません。なぜ、この質問を編集してコードレイアウトを再フォーマットできないのですか?私は通常のようにリンクを見ません... – Shimrod

答えて

2

frostDaysがあなたのfor-loopにローカルスコープを持っているので、これは動作しません。 Console.WriteLine(...)で使用できるようにするには、ループの外側で宣言する必要があります。しかし、それは0でいっぱいになるので、あなたがここで何をすることを意図しているのか分かりません。

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番目の値を、あなたが選んだ乱数に設定することでしょうか?この場合、ループ本体の末尾にfrostDays[i] = nyrHitiを使用してください。

0

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

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のインスタンスをループの外に宣言し、frostDaysforの外に宣言する必要があります。後で必要なときに範囲内にあり、ループ内でfrostDays[i]に割り当てる必要があります。そうでない場合は、長さ100のゼロ配列です。

+0

'froyDays'を' nyriHiti'と同じように設定するのは良い推測です。私はそれを推測したことはありませんでした。 –

+0

おそらく、意図したものに最も近づくでしょう。 – Polyfun

+0

あなたは基本的に私は "Day 3 was +" nyrhiti + "degrees"と書いてみたいと思います。 – user1144915

関連する問題