public class MainTest{
public static void main(String[] args) {
int[] n = {7,4,8,9,1,5};
for(int i=0;i<6;i++){
outNum(n);
System.out.println();
moveNum(n);
}
}
private static void moveNum(int[] n) {//数组元素移位
int temp = n[n.length-1];
for(int i=n.length-1;i>0;i--){
n[i] = n[i-1];
}
n[0] = temp;
}
private static void outNum(int[] n) {//输出数组
for(int i=0;i<n.length;i++){
System.out.print(n[i]);
}
}
以下是第二种算法,主要思想是换位取余数,先把原数组中的元素插入temp数组中(按移动位数插入),然后将多出来的元素做余运算,可以取得换位后的下标
private static void fun()
{
int[] c ={1,2,3,4,5,6};
int a = 4;
int b = 6;
int temp;
int w;
int v;
if(a>b)
{
temp = a%b;
// System.out.println(temp);
}else{
temp = a;
// System.out.println(temp);
}
int[] d = new int[c.length+temp];
for(int i=0;i<c.length;i++)
{
d[i+temp] = c[i];
System.out.print(d[i]);
}
for(int j=0;j<c.length+temp;j++)
{
//为了打印出整数,所以要加一
w = j+1;
if(w-c.length>0)
{
v = w%c.length;
// System.out.print(v-1);
d[v-1] = d[w-1];
// System.out.print(d[v-1]);
}
}
for(int h=0;h<c.length;h++)
{
System.out.print(d[h]);
}
}
}