2016-06-16 5 views
0

사용자가 유전자를 입력하고 무작위로 가중치 적용 옵션을 선택할 수있는 프로그램을 만듭니다. 예를 들어배열에서 임의의 숫자 선택 및 레이블로 반환

:

// If statements for gene 1 (NNN) 
if (intSireBuild == 1) 
{ 
    if (intDamBuild == 1) 
    { 
     lblResults1.Content = "NNN"; 
    } 
} 
else if (intSireBuild == 1) 
{ 
    if (intDamBuild == 2) 
    { 
     // Random number thing 

     int[] NNNxNna; 
     NNNxNna = new int[5]; 

     NNNxNna[0] = 1; 
     NNNxNna[1] = 1; 
     NNNxNna[2] = 1; 
     NNNxNna[3] = 1; 
     NNNxNna[4] = 2; 
     NNNxNna[5] = 2; 

     Random random = new Random(); 
     int gene2 = random.Next(NNNxNna.Length); 

     // The problem is occurring here, I believe 

     if (gene2 == 1) 
     { 
      lblResults1.Content = "NNN"; 
     } 
     else 
     { 
      lblResults1.Content = "Nna"; 
     } 
    } 
} 
// When you click the button, a calculation will be made using user inputed genes 

내가 가장 가능성이 할 수있는 간단한 방법이 실현,하지만 나는 그것을하고 싶은 방법입니다.

내가 겪고있는 문제점은 숫자 목록 (1,1,1,1,2,2,) ('NNN - 또는'1 ' 'Nna'보다 더 일반적입니다.) 무슨 일이 일어나고 있는지, 프로그램이 혼란스럽고 내가 사용하고있는 레이블에 어떤 정보도 출력하지 않는다는 것입니다.

내가 누락되었거나 올바르게 코딩되지 않은 것을 누군가가 알아낼 수 있는지 궁금합니다.

+0

무작위 색인 배열의 항목 중 하나를 선택하는 것을 잊어 버렸습니다. –

+0

불편을 끼쳐 드려 죄송 합니다만 어떻게해야합니까? – CMix

답변

0

이 다음 그렇지 않으면 결코 일어나지 않을 것입니다 그것을 입력했을 첫째

else if (intSireBuild == 1) 

당신은 두 번째 조건을 제거하고 또한 다음

if (intSireBuild == 1) 
{ 
    if (intDamBuild == 1) 
    { 
     lblResults1.Content = "NNN"; 
    } 
    else if (intDamBuild == 2) 
    { 
     // Random number thing 
     // Rest of the code 

로 떠나 있어야한다 "만일", 8 진수 배열은 0에서 4 사이의 인덱스 만 가질 수 있기 때문에 바운드 인덱스 NNNxNna[5] = 2;이 올바르지 않습니다.

+0

내 문제가 해결되었습니다. – CMix

관련 문제