题目:
【问题描述】
从键盘输入10个整数,存放在一个数组中,然后使数组中的所有整数整体向后移动m个位置,最后m个数变成最前面的m个数,并输出移动后的结果。m从键盘输入。
【输入形式】
输入10个整数,每个整数间用空格分隔,回车。然后输入整数m。
【输出形式】
首先输出数组中的10个元素,然后输出后移m位以后的数组所有元素。
【输入输出样例】
Please input 10 numbers:
1 2 3 4 5 6 7 8 9 10
Your numbers are:
1 2 3 4 5 6 7 8 9 10
Please input m:
3
The new numbers are:
8 9 10 1 2 3 4 5 6 7
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
int N=10;
int []arr=new int[N];
Scanner in=new Scanner(System.in);
System.out.println("Please input 10 numbers:");
for(int i=0;i<N;i++) {
arr[i]=in.nextInt();
}
System.out.println("Your numbers are: ");
for(int i=0;i<N;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
System.out.println("Please input m:");
int m=in.nextInt();
int[] b=new int[m];
for(int i=0;i<m;i++) {
b[i]=arr[N-m+i];
}
for(int i=N-1;i>=m;i--) {
arr[i]=arr[i-m];
}
for(int i=0;i<m;i++) {
arr[i]=b[i];
}
System.out.println("The new numbers are:");
for(int i=0;i<N;i++) {
System.out.print(arr[i]+" ");
}
}
}