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 }

结果:

 

 
posted @ 2021-08-07 14:31  炽雪  阅读(56)  评论(0)    收藏  举报