数组下标的灵活控制!!【实用】

来源:互联网 发布:在线视频cms 编辑:程序博客网 时间:2024/05/21 09:24

 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数   

 

import java.util.*;
/*
 * 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
 * 思路:1.在数组中找出最大数和最小数
 *    2.将最大数和最小数的下标记录下来,曾放在一个变量中
 *    3.做赋值交换运算
 *     3.1将最大数赋值给数组中第一个元素,将最小数赋值个数组中最后一个元素
 *     4.打印输出该数组 
 */
public class Test_36 {

 public static void main(String[] args)  {
   Scanner input=new Scanner(System.in);
   int Array[]=new int[4];
   for(int i=0;i<Array.length;i++){
    Array[i]=input.nextInt();   
   }
    new Test_36 ().exchange(Array);
    for(int i=0;i<Array.length;i++){
     System.out.print(Array[i]+" ");
    }
     
 }

 public void exchange(int Array[]) {
  int Max = Array[0];
  int Min = Array[0];
  int MAX = 0;
  int MIN = 0;
  for (int i = 0; i < Array.length; i++) {
   if (Max < Array[i]) {
    Max = Array[i];
    MAX = i;
   } else if (Min > Array[i]) {
    Min = Array[i];
    MIN = i;
   }

  }

  int temp;
  temp = Array[0];
  Array[0] = Array[MAX];
  Array[MAX] = temp;
  
  temp=Array[Array.length-1];
  Array[Array.length-1]=Array[MIN];
  Array[MIN]=temp;
  
 }

}