Java Long numberOfTrailingZeros 方法

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

numberOfTrailingZeros() 方法返回传入的 long 值中最低位(最右边)的 1 之后的零比特的数量。该方法是 java.lang 包中 Long 类的一部分。

创建一个新的 Java 文件

使用 nano 编辑器创建一个新的 Java 文件,在终端中输入以下命令:

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 值中末尾零的数量。你还创建了一个用户自定义输入程序,从用户那里获取输入并返回该数字的末尾零的数量。

您可能感兴趣的其他 Java 教程