Введение
Метод numberOfTrailingZeros() возвращает количество битовых нулей, следующих после младшего по порядку единичного бита (самого правого) переданного значения типа long. Этот метод является частью класса Long пакета java.lang.
Создайте новый файл Java
Создайте новый Java-файл с использованием редактора nano, введя следующую команду в терминале:
touch ~/project/TrailingZeros.java
Напишите код на Java
Добавьте следующий код, чтобы использовать метод numberOfTrailingZeros() для получения количества конечных нулей в значении типа long:
public class TrailingZeros {
public static void main(String[] args) {
// положительное число
long num1 = 170L;
System.out.println("Исходное число равно " + num1);
System.out.println("Двоичное представление равно = " + Long.toBinaryString(num1));
System.out.println("Количество конечных нулей равно = " + Long.numberOfTrailingZeros(num1));
// отрицательное число
long num2 = -57L;
System.out.println("Исходное число равно " + num2);
System.out.println("Двоичное представление равно = " + Long.toBinaryString(num2));
System.out.println("Количество конечных нулей равно " + Long.numberOfTrailingZeros(num2));
}
}
Компилируйте и запускайте код
Скомпилируйте код на Java с использованием следующей команды в терминале:
javac ~/project/TrailingZeros.java
После завершения компиляции запустите программу, введя следующую команду в терминале:
java TrailingZeros
Вывод программы будет выглядеть так:
Original Number is 170
Binary representation is = 10101010
Number of trailing zeros is = 1
Original Number is -57
Binary representation is = 1111111111111111111111111111111111111111111111111111111111000111
Number of trailing zeros is 0
Пользовательский ввод
Вы также можете получать ввод от пользователя и возвращать количество конечных нулей этого числа. Добавьте следующий код, чтобы достичь вышеописанной функциональности:
import java.util.Scanner;
public class TrailingZeros {
public static void main(String[] args) {
try {
System.out.println("Введите число: ");
Scanner sc = new Scanner(System.in);
long num3 = sc.nextLong();
System.out.println("Двоичное представление равно = " + Long.toBinaryString(num3));
System.out.println("Количество конечных нулей равно " + Long.numberOfTrailingZeros(num3));
} catch (Exception e) {
System.out.println("Некорректный ввод");
}
}
}
Компилируйте и запустите обновленный код
Скомпилируйте обновленный код на Java с использованием следующей команды в терминале:
javac ~/project/TrailingZeros.java
После завершения компиляции запустите обновленную программу, введя следующую команду в терминале:
java TrailingZeros
Когда программа запросит у вас ввод, введите значение типа long по своему выбору и нажмите клавишу 'Enter'. Программа выведет двоичное представление числа и количество конечных нулей.
Резюме
В этом практическом занятии вы узнали, как использовать метод numberOfTrailingZeros() для возврата количества конечных нулей в переданном значении типа long. Также вы создали программу с вводом пользователя, которая получает ввод от пользователя и возвращает количество конечных нулей этого числа.



