Java编程题
1. 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
1 //题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 2 public class Demo02{ 3 public static void main(String[] args){ 4 int[] arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; 5 printArr(arr); 6 deviation(arr,5); 7 8 } 9 //数组arr偏移m单位后后 10 public static void deviation(int[] arr,int m){ 11 int[] newArr = new int[m]; 12 //将偏移的数组存到新数组里面去 13 for (int i=0; i<m; i++) { 14 newArr[i] = arr[arr.length-m+i]; 15 } 16 printArr(newArr); 17 for (int i=arr.length-1; i>=m;i-- ) {//将数组元素向后移动m个单位 18 arr[i] = arr[i-m]; 19 } 20 //将偏移出来的数组放到数组前面去 21 for (int i = 0; i<m ;i++ ) { 22 arr[i] = newArr[i]; 23 } 24 printArr(arr); 25 } 26 //输出 27 public static void printArr(int[] arr){ 28 for (int i : arr ) { 29 System.out.print(i+" "); 30 } 31 System.out.println(); 32 33 } 34 35 }
运行结果:

2.题目:取一个整数a从右端开始的4~7位。
1 //题目:取一个整数a从右端开始的4~7位。 2 public class Demo03{ 3 public static void main(String[] args){ 4 int[] arr = {1,2,3,4,5,6,7,8,9,10}; 5 print(arr); 6 intercept(arr); 7 8 } 9 public static void intercept(int[] arr){//截取从右端开始的4~7位 10 int[] newArr = new int[4]; 11 int j = 0; 12 for (int i=arr.length-4; i>=arr.length-7;i--) { 13 newArr[j] = arr[i]; 14 j++; 15 } 16 print(newArr); 17 } 18 public static void print(int[] arr){//输出 19 for (int i : arr) { 20 System.out.print(i+" "); 21 } 22 System.out.println(); 23 } 24 }
结果:


浙公网安备 33010602011771号