/*
2017年3月10日09:59:54
java基础50道经典练习题 例36
Athor: ZJY
Purpose:
【程序36】
题目:有n个整数,使其前面各数顺序向后移m个位置,
最后m个数变成最前面的m个数
*/
import java.util.Scanner;
public class ProgramNo36_1
{
public static void main(String[] args) {
final int N = 10;
System.out.print("请输入10个数的数组: ");
Scanner sc = new Scanner(System.in);
int count = 0;
int[] array = new int[N];
for (int i=0; i<array.length; i++) {
array[count++] = sc.nextInt();
}
System.out.print("请输入一个小于10的数: ");
int number = sc.nextInt();
sc.close();
arrayHandler(array, number);
System.out.print("数组从"+number+"位开始前后倒置后为:");
print(array);
}
private static void arrayHandler(int[] array, int m) {
int[] array1 = new int[m];
for(int i=0; i<m; i++) {
array1[i] = array[array.length-m+i];
}
for(int i=array.length-m-1; i>=0; i--) {
array[i+m] = array[i];
}
for(int i=0; i<m; i++) {
array[i] = array1[i];
}
}
private static void print(int[] array){
for(int i=0; i<array.length; i++)
System.out.print(array[i]+" ");
System.out.println();
}
}
/*
2017年3月10日09:59:54
java基础50道经典练习题 例36
Athor: ZJY
Purpose: 程序有误
*/
import java.util.Scanner;
public class ProgramNo36_2
{
public static void main(String[] args) {
final int N = 10;
System.out.print("请输入10个数的数组:");
Scanner scan = new Scanner(System.in);
int[] a = new int[N];
for(int i=0; i<a.length; i++)
a[i] = scan.nextInt();
System.out.print("请输入一个小于10的数:");
int m = scan.nextInt();
scan.close();
int[] b = new int[m];
int[] c = new int[N-m];
for(int i=0; i<m; i++)
b[i] = a[i];
for(int i=m,j=0; i<N; i++,j++)
c[j] = a[i];
for(int i=0; i<N-m; i++)
a[i] = c[i];
for(int i=N-m,j=0; i<N; i++,j++)
a[i] = b[j];
for(int i=0; i<a.length; i++)
System.out.print(a[i]+" ");
}
}