Проблема:Java; в то время как цикл
Рассмотрим эту последовательность данных: "3 11 5 5 5 2 4 6 6 7 3 -8". Любое значение, которое совпадает с предыдущим значением, считается СООТВЕТСТВУЮЩИМ ДУБЛИКАТОМ. В этом примере есть три таких последовательных дубликата: 2-й и 3-й 5-й и второй 6. Обратите внимание, что последние 3 не являются последовательным дубликатом, потому что ему предшествовал 7. Напишите код, который использует цикл для чтения такого последовательность неотрицательных целых чисел, заканчивающихся отрицательным числом. Когда код завершает выполнение, печатается количество последовательных дубликатов. В этом случае 3 будет напечатано.
Правильный ответ:
int firstNumber, secondNumber, duplicates;
secondNumber = duplicates = 0;
firstNumber = stdin.nextInt();
while (stdin.hasNextInt() && firstNumber > 0 && secondNumber > 0)
{
secondNumber = stdin.nextInt();
if (firstNumber == secondNumber)
{
duplicates++;
}
firstNumber = secondNumber;
}
System.out.println(duplicates);
Мой вопрос:
Почему stdin.nextInt()
используется, когда у вас уже есть stdin.hasNextInt()
?
Потому что 'hasNextInt' определяет, имеет ли смысл использовать' nextInt'. –