Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向右将给定的字符数组向右旋转n个位置_Java - Fatal编程技术网

Java 向右将给定的字符数组向右旋转n个位置

Java 向右将给定的字符数组向右旋转n个位置,java,Java,A) 开发方法的主体 void rightRotate(字符[]arr,整数n) 该方法将给定的字符数组向右旋转n个位置 例如,如果arr={'a','b','c','d','e'}和n=2,那么结果应该是arr={'d','e','a','b','c'} B) 开发方法的主体 void leftRotate(字符[]arr,int n) 该方法将给定的字符数组向左旋转n个位置 例如,如果arr={'a','b','c','d','e'},那么结果应该是arr={'c','d','e','a',

A) 开发方法的主体

void rightRotate(字符[]arr,整数n)

该方法将给定的字符数组向右旋转n个位置

例如,如果arr={'a','b','c','d','e'}和n=2,那么结果应该是arr={'d','e','a','b','c'}

B) 开发方法的主体

void leftRotate(字符[]arr,int n)

该方法将给定的字符数组向左旋转n个位置

例如,如果arr={'a','b','c','d','e'},那么结果应该是arr={'c','d','e','a','b'}


我只学了一个月的java,这是本周的一个小测验

老师要求我们只使用temp和basic for循环来解决它

我们不能使用新的数组


公共静态void rightRotate(字符arr[],整数n)
{
//你的密码在这里
int i;
如果(arr.length>1)
{
字符p=arr[arr.length-n-1];

对于(i=0;i您实际上需要两个
循环来执行旋转,一个用于保持旋转的数量,另一个用于移动元素。下面应该可以使用:

public static void rightRotate(char arr[], int n) {
    int i;
    if (arr.length > 1) {
        for (i = 0; i < n; i++) {
            char p = arr[arr.length - 1];
            //Shift the elements to the right
            for(int j = arr.length-2; j >= 0 ; j--){
                arr[j+1] = arr[j];
            }
            arr[0] = p;
        }
    }
}
公共静态void rightRotate(字符arr[],整数n){
int i;
如果(arr.length>1){
对于(i=0;i=0;j--){
arr[j+1]=arr[j];
}
arr[0]=p;
}
}
}

请说明您尝试了什么,并解释具体问题(如果有)您正在经历的。一旦您这样做,这里的一群非常聪明的人将乐于帮助解决该问题。堆栈溢出是为了帮助您解决特定问题,而不是为您做功课。您尝试过调试吗?什么是调试?我们还没有学过调试。
public static void rightRotate(char arr[], int n) {
    int i;
    if (arr.length > 1) {
        for (i = 0; i < n; i++) {
            char p = arr[arr.length - 1];
            //Shift the elements to the right
            for(int j = arr.length-2; j >= 0 ; j--){
                arr[j+1] = arr[j];
            }
            arr[0] = p;
        }
    }
}