疯狂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]

  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

  System.out.print(array[i] + " ");

  }

  System.out.println();

  }

  }

  

  [java]

  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++;

  }

  }

  }

  

  4. 测试运行结果截图