2015-02-26 4 views
-2

Я новичок в программировании, и я стараюсь практиковать различные функции с помощью простого приложения «Выбрать номер». Однако я столкнулся с проблемой.если утверждения в циклах

Random rnd = new Random(); 
int deNumero = rnd.Next(1,100001); 
while (true) 
{ 
    Console.WriteLine("Pick a number 1 - 100000"); 
    string input = Console.ReadLine(); 
    int numero = Int32.Parse(input); 
    if(numero < deNumero) 
    { 
     Console.WriteLine("Lower"); 
    } 
    else if(numero > deNumero) 
    { 
     Console.WriteLine("Higher"); 
    } 
    else if(numero == deNumero) 
    { 
     Console.WriteLine("Well done!"); 
     Console.ReadKey(); 
    } 
    else 
    { 
     Console.WriteLine("What?"); 
    } 
} 

Допустим, я выбираю число, которое больше, чем deNumero и печатает «Нижний». Где я вижу проблему, когда я выбираю номер 1, он снова печатает «Нижний». он продолжает переходить к тому же заявлению if, даже если это не так. Что я делаю не так?

+2

Если вы выберете число, большее, чем deNumero, оно всегда будет печатать «Высшее». Возможно, ваша инверсия выше и ниже. –

+0

Поместите точку останова в первый оператор 'if' и пройдите через вашу программу. –

+0

У вас есть '(numero deDumero)' должно возвращать '' Lower '' –

ответ

1

Все код работает правильно вы можете увидеть результат, я распечатать DeNumero увидеть или поставить точку останова в вас, если заявление, чтобы выяснить, что Heppening:

Random rnd = new Random(); 
     int deNumero = rnd.Next(1, 100001); 
     while (true) 
     { 
      Console.WriteLine("DeNomero:{0}", deNumero); 
      Console.WriteLine("Pick a number 1 - 100000"); 
      string input = Console.ReadLine(); 
      int numero = Int32.Parse(input); 
      if (numero < deNumero) 
      { 
       Console.WriteLine("Lower"); 
      } 
      else if (numero > deNumero) 
      { 
       Console.WriteLine("Higher"); 
      } 
      else if (numero == deNumero) 
      { 
       Console.WriteLine("Well done!"); 
       Console.ReadKey(); 
      } 
      else 
      { 
       Console.WriteLine("What?"); 
      } 
     } 

Результат enter image description here

0

Я запустил вашу программу и нашел, что она работает, следите, чтобы вы установили диапазон случайных чисел от 1 до 100 000, а не 1-10 000 .. и вы уверены, что знаете значение deNumero?

Смежные вопросы