/*有n个整数,使其前面各数顺序后移m个位置,最后m个变为前面的m个
* 2012年12月25日(今天圣诞节,极其无聊)
*/
import java.util.Scanner;
public class BackNum {
public BackNum(int n, int m)
{
this.n = n;
this.m = m;
}
//初始化数组
public void InitArray()
{
a = new int[n]; //数组长度为n
System.out.println("请输入"+n+"个数字");
Scanner input = new Scanner(System.in);
for(int i = 0; i < n; ++i)
{
a[i] = input.nextInt();
}
}
//将数组元素后移
public void Back()
{
int b[] = new int[n]; //用来存放改变之后的数组
for (int i = 0; i < n; ++i)
{
b[(i + m) % n] = a[i]; //将数组元素后移m位
}
for (int j = 0; j < n; ++j)
{
a[j] = b[j]; //改变后的数组a
}
}
//输出改变后的数组
public void Print()
{
System.out.println("改变后的数组为");
for (int i = 0; i < n; ++i)
{
System.out.print(a[i]+" ");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
BackNum num = new BackNum(10,3); //为了方便,直接是10个数字,后移3位
num.InitArray(); //初始化数组
num.Back(); //数组后移
num.Print(); //输出数组
}
private int n; //整数的个数
private int m; //后移多少位
private int a[]; //整数数组
}
有n个整数,使其前面各数顺序后移m个位置,最后m个变为前面的m个
最新推荐文章于 2023-10-04 06:00:00 发布