Вот мой код, взял с одной книги:
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.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости