Java 如何向左旋转数组中的元素

Java 如何向左旋转数组中的元素,java,arrays,rotation,logic,Java,Arrays,Rotation,Logic,我想将这些元素向左旋转。请帮帮我 public class RotateLeft { public static void main(String args[]) { int array[] ={1,2,3}; int myarray[]= new int[3]; //Here is my logic for(int i=0;

我想将这些元素向左旋转。请帮帮我

public class RotateLeft
{ 
     public static void main(String args[]) 
     { 
         int array[] ={1,2,3};
         int myarray[]= new int[3];               
         //Here is my logic                     
         for(int i=0; i<myarray.length-1; i++)
         {                         
             myarray[i]=array[i+1];
             myarray[i+1]=array[i];
         }
         System.out.print(myarray[0]+" "+myarray[1]+ " "+ myarray[2]);  
    }
}
公共类RotateLeft
{ 
公共静态void main(字符串参数[])
{ 
int数组[]={1,2,3};
int myarray[]=新int[3];
//这是我的逻辑
对于(int i=0;i请尝试以下方法:

int[] myarray = new int[array.length];
for (int i = 0; i <= myarray.length - 1; i++) {
    if (i != myarray.length - 1) {
        myarray[i] = array[i + 1];
    } else {
        myarray[i] = array[0];
    }
}
int[]myarray=newint[array.length];
对于(int i=0;i请尝试以下方法:

int[] myarray = new int[array.length];
for (int i = 0; i <= myarray.length - 1; i++) {
    if (i != myarray.length - 1) {
        myarray[i] = array[i + 1];
    } else {
        myarray[i] = array[0];
    }
}
int[]myarray=newint[array.length];

对于(int i=0;i数组中只有3个元素吗?只要大小较小且固定,就可以硬编码解决方案(我想这也会缩短执行时间)。如果大小是可变的,请查看通用解决方案的可能重复。数组中是否只有3个元素?只要大小较小且固定,您就可以对解决方案进行硬编码(我认为这也会缩短执行时间)。如果大小是可变的,请查看通用解决方案的可能重复项。从
myarray[0]
到最后一项,“在末尾”发送了错误的值。请思考
myarray[0]会发生什么情况
在第一次循环中……Kevin Anderson,我用多个测试用例测试了这个循环,没有发现任何问题。它工作正常,你能用例子解释一下你的观点吗?是的,这工作正常,无论数组是空的,只包含一个项目,还是多个项目。我的不好;出于某种原因,我认为它在旋转
 数组本身内部
,这需要在临时变量中保存
array[0]
的初始值。从
myarray[0]
到最后一项的“末尾”发送了错误的值。请思考
myarray[0]会发生什么情况
在第一次循环中……Kevin Anderson,我用多个测试用例测试了这个循环,没有发现任何问题。它工作正常,你能用例子解释一下你的观点吗?是的,这工作正常,无论数组是空的,只包含一个项目,还是多个项目。我的不好;出于某种原因,我认为它在旋转
 数组本身内部
,需要在临时变量中保存数组[0]
的初始值。