編程題目:
37.有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數。
示例代碼:
package program.calculation.exercise37;
import java.util.Scanner;
/**
* 37.有n個整數,使其前面各數順序向後移m個位置, 最後m個數變成最前面的m個數。
*/
public class ArrayMove {
public static void main(String[] args) {
System.out.println("請輸入n個整數:");
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int[] arr = new int[10];
for (int i=0; i<arr.length; i++) {
arr[i] = scanner.nextInt();
}
System.out.println("請輸入整數順序後移位數m(m<n):");
int m = scanner.nextInt();
handleArray(arr, m);
System.out.println("整數序列後移"+m+"位後順序爲:");
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
//處理數組
private static void handleArray(int[] arr, int m) {
int[] array = new int[m];
for(int i=0; i<m; i++) {
array[i] = arr[arr.length-m+i];
}
for(int i=arr.length-m-1; i>=0; i--) {
arr[i+m] = arr[i];
}
for(int i=0; i<m; i++) {
arr[i] = array[i];
}
}
}