用java实现数组的循环逐步移位操作
1. 背景
老师在课上布置了几道java编程题,此为其中之一
2. 题目内容
设计一个类,并为其添加一个带有一个参数的构造函数,同时封装一个方法。当连续调用该方法时,依次产生下列元素输出
第一次调用输出:
5 7 4 8 9 1
第二次调用输出:
1 5 7 4 8 9
第三次调用输出:
9 1 5 7 4 8
第四次调用输出:
8 9 1 5 7 4
第五次调用输出:
4 8 9 1 5 7
第六次调用输出:
7 4 8 9 1 5
3. 具体代码(附代码解释)
package One;
/**
* @author Kun Sun
* @Date: 2013.10.15
*/
public class Move { // 移动类
int array[];
public Move(int array[]){
this.array = array;
}
private void movebit(int array[]){ // 移位方法
int temp;
temp = array[array.length-1];
for(int i = array.length-1;i>0;i--){
array[i]=array[i-1];
}
array[0] = temp;
}
public void talk(){ // 封装
movebit(array);
}
public void print(int array[]){ // 输出
int i = 0;
for(i=0; i<array.length; i++){
System.out.print(array[i] + " ");
}
System.out.println();
}
}
package One;
/**
* @author Kun Sun
* @Date: 2013.10.15
*/
public class MainClass { // 用于测试移动类
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = new int[]{5,7,4,8,9,1};
Move move = new Move(array);
int i = 0;
while(i < 6){
System.out.println("第"+(i+1)+"次调用输出:");
move.print(array);
move.talk();
i++;
}
}
}