{
static Scanner reader = new Scanner(System.in);
public static void main(String[] args)
{
int x, count=0;
x=reader.nextInt();
while (x!=-1)
{
count++;
x=reader.nextInt();
}
System.out.println(" Количество значений в серии="+count);
}
}
Обратите внимание: если первое же значение, введенное с клавиатуры, будет равно -1 – цикл вообще ни разу не будет (точнее – не должен!) выполняться!
Это – одна из самых важных особенностей цикла while: этот цикл может ни разу не выполняться; вариант этот всегда следует иметь в виду.
В нашем примере имеется значение -1, при введении которого с клавиатуры цикл прекращается. В общем случае такое значение принято называть "кодом прерывания" (при его введение прерывается повторение цикла), "караульным" (караулит, когда в очередной раз надо "не пропустить" исполнение в тело цикла), zip-code (только не в смысле "почтовый индекс", а в смысле "код, который закрывает" – имеется в виду, что он закрывает исполнение цикла).
При этом, совершенно не обязательно, чтобы условие в заголовке цикла содержало использование именно "кода прерывания"; в достаточно многих случаях это может быть и ограничение, налагаемое на значение одной из переменных.
Пример с использованием "ограничения значения"
Рассмотрим пример: " Напишите класс, который генерирует серию однозначных положительных чисел – до тех пор, пока сумма значений серии остается меньше 100. Класс должен выводить на экран количество значений в сгенерированной серии и их сумму ".
Решение может выглядеть так:
import java.util.*;