Генерация случайных чисел в C # ошибок - PullRequest
0 голосов
/ 12 февраля 2019

Итак, я пытаюсь сгенерировать случайное число , и если число равно 3 или 8, что-то случится, в этом случае добавить 1к одному из 2 целых чисел

имейте в виду, я действительно только собираюсь написать книгу на C # и немного знаний в VB

    int Number1 = 0;
    int Number12 = 0;
    string text;
    string text2;

    Exexs:

    Random rnd = new Random();
    int month = rnd.Next(1, 10);

    if (month = 8)
    {
        Number1++;
    }
    else if (month = 3)
    {
        Number12++;
    }

    if (Number1 = 1)
    {
        text = "*";
    }

    goto Exexs;

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Слишком много ошибок в вашем коде;похоже, реализация должна быть примерно такой:

int Number1 = 0;
int Number12 = 0;
// Do not forget to initialize the varaiables:
string text = "";
string text2 = "";

// Create (and initialize by system tomer) Random once, use many
Random rnd = new Random();

// Do not use goto, but loops (they are more readable: we have an infinite loop here)
while (true) {
  int month = rnd.Next(1, 10);

  // (month = 8) is an assignment, not comparison which is (month == 8)
  // Let's use C/C++ language trick: comparing in reversed order: 
  // (8 == month) and you can easily find out such errors
  if (8 == month)
    Number1++;
  else if (3 == month)
    Number12++;

  if (1 == Number1) {
    text = "*";

    // you want to leave the infinite loop (your current code never stops)
    break; 
  }
}

// Let's inspect the outcome
Console.Write($"Number1 = {Number1}; Number12 = {Number12} Text = {text}"); 
0 голосов
/ 12 февраля 2019

В c # для сравнения нужно использовать double = Итак, вместо:

if (month = 8)

введите:

if (month == 8)
...