📜  Java程序将给定数字的数字旋转K(1)

📅  最后修改于: 2023-12-03 14:43:03.607000             🧑  作者: Mango

Java程序将给定数字的数字旋转K

在Java中,有时我们需要将一个数字的数字按照一定的规则进行旋转。例如,给定数字123456,将其旋转3位,变为456123。本文将介绍一种实现该功能的方法。

实现思路

我们可以将问题分为两步来解决。

第一步是将数字按照指定的位数进行切割,形成左右两部分。

第二步是将左右两部分分别旋转,然后将它们拼接起来。

具体流程如下:

  1. 将数字转换为字符串,便于进行操作。

  2. 计算旋转后的左右两部分的起始索引。

  3. 将左右两部分进行翻转。

  4. 将左右两部分拼接起来。

代码实现

下面是Java代码实现的一个例子。其中,rotate函数接收两个参数,一个是需要旋转的数字,一个是旋转的位数。

public class RotateNumber {
    public static void main(String[] args) {
        int num = 123456;
        int k = 3;
        int result = rotate(num, k);
        System.out.println(result);
    }

    private static int rotate(int num, int k) {
        String str = String.valueOf(num);
        int len = str.length();
        int start = len - k % len;
        String left = reverse(str.substring(0, start));
        String right = reverse(str.substring(start));
        String reversed = left.concat(right);
        return Integer.parseInt(reversed);
    }

    private static String reverse(String s) {
        return new StringBuilder(s).reverse().toString();
    }
}

其中,在rotate函数中,我们首先将数字转换为字符串。然后,根据旋转位数k以及字符串长度计算左右两部分的起始索引。接着,将左右两部分分别翻转并拼接起来。最后,将结果转换为数字并返回。

示例运行结果

当我们将数字123456旋转3位时,输出结果应该为456123。运行上述代码后,我们可以看到输出结果为456123。

456123
总结

本文介绍了一种实现Java程序将给定数字的数字旋转K的方法。在实现过程中,我们首先将数字转换为字符串,然后按照一定的规则将其拆分成左右两部分,并分别旋转。最后,我们将左右两部分拼接起来并将结果转换为数字输出。

该方法简单易懂,可以很方便地实现该功能。