Вот мой код, взял с одной книги:
int num = (int)(Math.random()*101);
System.out.println("Guess a magic number from");
int guess = -1;
while(guess != num){
System.out.print("\nEnter your guess: ");
guess = input.nextInt();
if(guess == num)
System.out.println("You got it!");
else if(guess > num)
System.out.println("Your guess is too high!");
else
System.out.println("Your guess is too low!");
}
Хочу узнать, что значит эта строка: int guess = -1;
. Скажите, пожалуйста, что значит -1
и зачем эта строка!
Спасибо!
В вашем конкретном случае значение -1 для переменной guess
указано для того, чтобы на стадии определения входящих условий для цикла while()
получить 100% вхождение в цикл. Если вы посмотрите на код выше, то увидите как генерируется значение для переменной num
. Варианты получаются от 0 до 100 включительно. Следовательно, необходимо указать значение не входящее в этот диапазон. Вы можете с лёгкостью изменить -1 на любое в диапазоне от -2^31 до 2^31 и не входящее в диапазон генерируемых значений num
. При этом логика работы вашего кода не изменится.
Первоначально генератор случайных чисел генерирует какое-то число в диапазоне от 0 до 100 включительно. Пользователю в цикле предлагается угадать это число. Если пользователь не угадал, то выводится соответствующая подсказка, а если угадал, то при следующей проверке условие цикла guess != num
оказывается ложным и цикл прекращает выполнение.
В этой проверке и далее в цикле используется переменная guess
. Всякая переменная к моменту ее использования должна иметь какое-то значение, определяемое ее инициализацией -- переменная не должна иметь неопределенного значения, иначе неопределенным будет поведение программы, что недопустимо. Язык Java просто не позволяет использовать неинициализированные переменные -- компилятор будет ругаться и не скомпилирует.
Так что переменной guess
должно быть присвоено какое-то значение. Но чтобы цикл случайно не прекратил выполнение, не начав его, это значение должно быть таким, каким заведомо не может обладать к этому моменту переменная num
-- то есть любым значением, меньшим, чем 0 или большим, чем 100. Любым. Автору понравилось -1, но вы точно с таким же успехом можете написать там 101 или 1234567890.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть команда из 4 участников и один менторНам нужен проект, который будет затрагивать темы (желательно все):
Я разрабатываю приложение под Android, и столкнулся с очень трудной задачейУ меня есть фрагмент содержащий RecyclerView который содержит изображения(примерно...