2016-09-17 3 views
0

사용자 입력에 따라 난수를 생성하려고합니다. 따라서 사용자가 10을 입력하면 10 개의 난수가 생성됩니다. 텍스트 입력란에서 사용자 입력을 얻고 있습니다.난수 생성

private void GenerateRandomNumber() 
      { 

       int count = 1; 

       //Int32.TryParse(GeneratetextBox.Text, out UserNumber); 
       UserNumber = Convert.ToInt32(GeneratetextBox.Text); 

       ///creates random object to produce random values 
       Random randomNumbers = new Random(); 

       while (count == UserNumber) 
       { 
        //UserNumber = randomNumbers.Next(100); 

        listBox.Items.Add(randomNumbers.Next(100)); 

        count = count + 1; 
       } 

       //for (count = UserNumber; count == UserNumber; count++) 
       //{ 
       // UserNumber = randomNumbers.Next(100); 

       // listBox.Items.Add(randomNumbers.Next(100)); 

       // count = count + 1; 
       //} 
    } 
+2

while (count == UserNumber)'이 사실입니까? –

+1

네, 무슨 질문입니까? –

+0

사용자 입력에 따라 난수를 생성하려고합니다. 그래서 사용자가 30을 입력하면 난 30 임의의 숫자를 생성해야합니다. – Becca

답변

2

것은이 임의의 숫자를 genearate보십시오 :

 private void GenerateRandomNumber() 
     {     
      int userNumber= Convert.ToInt32(GeneratetextBox.Text); 

      Random randomNumbers = new Random(); 

      // loop until i is not les than userNumber 

      for (int i = 0; i < userNumber; i++){ 
        // generate random number and add it to the list. 
        int randNumber= randomNumbers.Next(100); 
        listBox.Items.Add(randNumber); 
      } 
      } 

      private void button1_Click(object sender, EventArgs e) 
      { 
      // clear listbox before generating new numbers 
      listBox.Items.Clear(); 
      GenerateRandomNumber(); 
      } 

당신의 새로운 randnubers를 생성하기 전에 목록 상자를 취소하는 것을 잊지 마세요 버튼이 방법을 유발하는 경우.

+0

랜덤 넘버를 얻지 만 사용자 입력보다 큽니다. – Becca

+0

@Becca가 방금 편집을했는데 목록 상자를 지우는 것을 잊지 마세요. 그렇지 않으면 목록에 임의의 숫자가 추가되고 사용자가 원하는 것보다 많은 값을 갖게됩니다. –

+0

감사합니다 @ Timon Post. 그것은 위대한 지금 작동합니다. :) – Becca

1

Count가 UserNumber와 다른 경우 while 루프가 중지되므로 count = 1로 초기화되므로 while 코드를 실행하려면 UserNumber = 1이 필요합니다. ,

개인 무효 GenerateRandomNumber() {

  int count = 1; 

      //Int32.TryParse(GeneratetextBox.Text, out UserNumber); 
      UserNumber = Convert.ToInt32(GeneratetextBox.Text); 

      ///creates random object to produce random values 
      Random randomNumbers = new Random(); 

      while (count <= UserNumber) 
      { 
       //UserNumber = randomNumbers.Next(100); 

       listBox.Items.Add(randomNumbers.Next(100)); 

       count = count + 1; 
      } 

      //for (count = UserNumber; count == UserNumber; count++) 
      //{ 
      // UserNumber = randomNumbers.Next(100); 

      // listBox.Items.Add(randomNumbers.Next(100)); 

      // count = count + 1; 
      //} 
} 

그동안 내부의 코드가 UserNumber 카운트보다 큰 경우 실행중인 중지 그 방법 :

그래서, 당신은 동안의 조건을 수정해야 그것은 당신이 찾고있는 것입니다.