2012-04-10 194 views
0

我想结束100 frostDays但我想我说错了。frostDays does not exist

它只有一个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(); 
+0

没有(直接)与问题相关,ut为什么我不能编辑这个问题来重新设置代码布局的格式?我没有看到链接,因为我通常会这样做...... – Shimrod 2012-04-10 13:07:40

回答

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 th值设置为你刚选择的随机数?在这种情况下,请在循环体的末尾使用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,并且在for之外声明frostDays,所以当你需要之后它仍然在范围内,并且你需要在循环中指定frostDays[i],否则它只是长度为100的零数组。

+0

设置'frostDays'等于'nyriHiti'的猜测。我从来不会猜到这一点。 – 2012-04-10 13:01:24

+0

可能最接近想要的东西。 – Polyfun 2012-04-10 13:02:52

+0

你们基本上我想写,“第3天是”+ nyrhiti +“度”谢谢。 – user1144915 2012-04-10 13:25:45

相关问题