用java实现数组的循环逐步移位操作

用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. 具体代码(附代码解释)

 

 

[java][/java] view plaincopy

  1. <span style=”font-family:SimSun; font-size:14px”>package One;
  2. /**
  3.  * @author Kun Sun
  4.  * @Date: 2013.10.15
  5.  */
  6. public class Move { // 移动类
  7.     int array[];
  8.     public Move(int array[]){
  9.         this.array = array;
  10.     }
  11.     private void movebit(int array[]){ // 移位方法
  12.         int temp;
  13.         temp = array[array.length-1];
  14.         for(int i = array.length-1;i>0;i–){
  15.             array[i]=array[i-1];
  16.         }
  17.         array[0] = temp;
  18.     }
  19.     public void talk(){ // 封装
  20.         movebit(array);
  21.     }
  22.     public void print(int array[]){ // 输出
  23.         int i = 0;
  24.         for(i=0; i<array.length; i++){
  25.             System.out.print(array[i] + ” “);
  26.         }
  27.         System.out.println();
  28.     }
  29. }
  30. </span>

 

 

 

[java][/java] view plaincopy

  1. <span style=”font-family:SimSun; font-size:14px”>package One;
  2. /**
  3.  * @author Kun Sun
  4.  * @Date: 2013.10.15
  5.  */
  6. public class MainClass { // 用于测试移动类
  7.     /**
  8.      * @param args
  9.      */
  10.     public static void main(String[] args) {
  11.         // TODO Auto-generated method stub
  12.         int array[] = new int[]{5,7,4,8,9,1};
  13.         Move move = new Move(array);
  14.         int i = 0;
  15.         while(i < 6){
  16.             System.out.println(“第”+(i+1)+”次调用输出:”);
  17.             move.print(array);
  18.             move.talk();
  19.             i++;
  20.         }
  21.     }
  22. }
  23. </span>

 

4.  测试运行结果截图

 

标签