Java Integer rotateRight 方法

JavaJavaBeginner
立即练习

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

介绍

rotateRight() 方法在二进制数据的位操作中非常有用。具体来说,它将一个数字的二进制位向右旋转指定的位数。这对于在整数上执行位操作或在二进制和十进制数字之间进行转换非常有用。在本实验中,我们将探索如何使用此方法来旋转不同的整数,并检查结果。

导入所需的包

在第一步中,我们需要导入所需的包以使用 rotateRight() 方法。为此,我们将使用 java.langjava.util 包。

import java.lang.*;
import java.util.*;

这个包包含了我们用于接收用户输入的 Scanner 类。

定义主类

在这一步中,我们将定义 RotateRight 类和 main() 方法。

public class RotateRight {
    public static void main(String[] args) {
        // Code to be added here
    }
}

定义变量

在这一步中,我们将为程序定义所需的变量。

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;
        // Code to be added here
    }
}

我们定义了三个变量 n1n2val。这些变量将在后续步骤中用于执行位旋转操作。

输出二进制等价形式

在这一步中,我们将使用 Integer.toBinaryString() 方法输出数字 n1n2 的二进制等价形式。

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;

        System.out.println("Binary equivalent of n1: " + Integer.toBinaryString(n1));
        System.out.println("Binary equivalent of n2: " + Integer.toBinaryString(n2));
    }
}

在这里,我们使用 Integer.toBinaryString() 方法将整数转换为二进制格式,然后使用 System.out.println() 方法将其打印出来。

执行位旋转操作

在这一步中,我们将使用 rotateRight() 方法来执行位旋转操作。

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;

        System.out.println("Binary equivalent of n1: " + Integer.toBinaryString(n1));
        for (int i = 0; i < val; i++) {
            n1 = Integer.rotateRight(n1, val);
            System.out.println(n1);
        }

        System.out.println("Binary equivalent of n2: " + Integer.toBinaryString(n2));
        for (int i = 0; i < val; i++) {
            n2 = Integer.rotateRight(n2, val);
            System.out.println(n2);
        }
    }
}

上述代码包含两个 for 循环,用于对两个数字执行位旋转操作。我们使用了 rotateRight() 方法,并传入需要旋转的数字以及旋转的位数。

通过用户输入执行位旋转操作

在这一步中,我们将通过命令行获取用户输入,并根据用户输入执行位旋转操作。

public class RotateRight {
    public static void main(String[] args) {
        try {
            System.out.println("Enter the value and distance");
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int val = sc.nextInt();
            System.out.println("Binary equivalent is : " + Integer.toBinaryString(n));
            for (int i = 0; i < val; i++) {
                n = Integer.rotateRight(n, val);
                System.out.println(n);
            }
        } catch (Exception e) {
            System.out.println("Invalid Input");
        }
    }
}

在这里,我们通过 Scanner 对象 scnextInt() 方法获取用户输入。然后,根据用户输入执行位旋转操作。

编译并运行程序

要编译并运行程序,可以在终端中使用以下命令:

javac RotateRight.java && java RotateRight

总结

在本实验中,我们学习了如何使用 Java 的 Integer.rotateRight() 方法执行位旋转操作。我们从导入所需的包、定义主类和用户自定义变量开始。我们输出了给定输入数字的二进制等价形式,然后根据用户输入执行了位旋转操作。最后,我们编译并运行了程序,并检查了输出结果。

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