Обработка нулей и отрицательных чисел
В предыдущих шагах мы сосредоточились на определении положительных чисел. Теперь расширим нашу программу, чтобы она также определяла нули и отрицательные числа. Это даст нам более полное представление о числах в нашем массиве.
Мы снова модифицируем файл PositiveCheck.java
, чтобы включить проверку на нули и отрицательные числа, используя сначала традиционный подход с циклом for
, так как условную логику с операторами if-else if-else
часто легче понять.
Откройте файл PositiveCheck.java
в редакторе. Замените существующий код следующим:
public class PositiveCheck {
public static void main(String[] args) {
// Define an array of integers
int[] numbers = {10, -5, 20, 0, 15, -8};
// Loop through the array
for (int i = 0; i < numbers.length; i++) {
// Get the current number
int currentNumber = numbers[i];
// Check if the number is positive, negative, or zero
if (currentNumber > 0) {
System.out.println(currentNumber + " is a positive number.");
} else if (currentNumber < 0) {
System.out.println(currentNumber + " is a negative number.");
} else {
System.out.println(currentNumber + " is zero.");
}
}
}
}
Вот что нового:
else if (currentNumber < 0)
: Это оператор else if
. Он проверяет, меньше ли currentNumber
0, но только если предыдущее условие if
(currentNumber > 0
) было ложным.
else
: Это оператор else
. Код внутри блока else
выполняется, если ни одно из предыдущих условий if
или else if
не истинно. В этом случае, если число не больше 0 и не меньше 0, оно должно быть равно 0.
Сохраните файл PositiveCheck.java
.
Теперь скомпилируйте и запустите модифицированную программу в терминале:
javac PositiveCheck.java
java PositiveCheck
Теперь вы должны увидеть вывод, в котором каждое число в массиве классифицируется:
10 is a positive number.
-5 is a negative number.
20 is a positive number.
0 is zero.
15 is a positive number.
-8 is a negative number.
Это демонстрирует, как использовать операторы if-else if-else
для обработки нескольких условий в цикле. Это фундаментальный шаблон для принятия решений в программировании.
Вы также можете достичь аналогичных результатов, используя Stream API с более продвинутыми техниками, такими как partitioningBy
или множественные операции filter
, но цикл for
с if-else if-else
- это простой и понятный подход для этой конкретной задачи, особенно для начинающих.