2014-11-06 103 views
-1

我試圖在C#中創建一個列表,它將把我的整數存儲在列表中的空間中,然後移動到列表中的下一個項目並再次運行該公式,將該值存儲在列表中的該點上等等。在C#中使用for或do循環創建列表

我試着運行一個for循環,一個foreach循環,一個循環。而我無法將頭圍住它。

我想要的輸出是

意思是? 隨機計算 隨機計算 隨機計算 隨機計算 隨機計算 隨機計算 隨機計算 隨機計算 隨機計算 隨機計算

`using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
class Program 
{ 
    private static readonly Random random = new Random(); 

     private static double u(double minValue, double maxValue) 
     { 
      var next = random.NextDouble(); 
      return minValue + (next * (maxValue - minValue)); 
     }    

    static void Main(string[] args) 
    { 
     Random random = new Random(); 
     int r = random.Next(0,1); 
     Console.WriteLine("Mean?"); 
     int M = Convert.ToInt32(Console.ReadLine()); 
     List<int> list = new List<int>(10); 

     int i = 0; 
     do 
     { 
      Console.WriteLine("{0}", -M * Math.Log(u(0, 1))); 
      list.Add(Int32.Parse(Console.ReadLine())); //<--------------error 
      i++; 
     } while (i < 10); 

     Console.ReadLine();   
    } 
} 
}` 

另外,我標記斑點,我運行成格式錯誤,我不知道如何解決。我試過把它寫成:Convert.ToInt32但它沒有解決。這是我得到的錯誤:

輸入字符串的格式不正確。

+4

輸入是什麼,''「abc」'? – 2014-11-06 14:34:38

+1

只要您輸入有效的數字值,您的代碼就會工作,否則您將得到異常。 – Habib 2014-11-06 14:35:10

+2

「錯誤」不是問題描述。你會得到什麼「錯誤」? – 2014-11-06 14:35:54

回答

0

其中之一,你永遠不會再儲存M的價值。你設置一次,然後在循環中多次使用它。所以,當你將輸入存儲到列表中時,顯示的內容與此無關。它只取決於你輸入的第一次,它爲你設置M,在循環之外。

我相信還有其他一些問題(例如,您在哪裏使用i而不是更新它,或者它只是一個循環計數器?),但這應該讓您開始。