Java 向右将给定的字符数组向右旋转n个位置
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 向右将给定的字符数组向右旋转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',
我只学了一个月的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;
}
}
}