Java经典编程题50道之三十六

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

public class Example36 {
    public static void main(String[] args) {
        int[] m = { 18, 12, 23, 34, 95, 76, 57, 28, 9 };
        moveElement(m, 5);
    }

public static void moveElement(int[] m, int n) {
        System.out.print("移位前的数组为:");
        for (int r : m) {
            System.out.print(r + " ");
        }

if (n <= m.length) {
            int[] b = new int[m.length];
            for (int i = 0; i < m.length - n; i++) {
                b[i + n] = m[i];
            }
            int j = 0;
            for (int i = m.length - n; i < m.length; i++) {
                b[j] = m[i];
                j++;
            }

System.out.print("\n移动" + n + "位后的数组为:");
            for (int r : b) {
                System.out.print(r + " ");
            }
        } else {
            System.out.print("\n移动错误!");
        }
    }
}

时间: 2024-11-06 12:54:26

Java经典编程题50道之三十六的相关文章

Java经典编程题50道之三十四

输入3个数a,b,c,按大小顺序输出. public class Example34 {    public static void main(String[] args) {        sort(5, 20, 15);    } public static void sort(int a, int b, int c) {        if (a < b) {            int t = a;            a = b;            b = t;        

Java经典编程题50道之三十五

有一个数组,将其最大的元素与第一个元素交换,最小的元素与最后一个元素交换,然后输出数组. public class Example35 {    public static void main(String[] args) {        int[] a = { 5, 7, 6, 1, 9, 4, 2, 3, 8 };        convertElement(a);    } public static void convertElement(int[] a) {        Syste

Java经典编程题50道之三十二

取一个整数a从右端开始的4-7位. public class Example32 {    public static void main(String[] args) {        cut(123456789);    } public static void cut(long n) {        String s = Long.toString(n);        char[] c = s.toCharArray();        int j = c.length;      

Java经典编程题50道之三十

有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. public class Example30 {    public static void main(String[] args) {        int[] m = { 3, 5, 9, 12, 16, 20, 25, 33 };        addElement(m, 17);    } public static void addElement(int[] a, int n) {        System.ou

Java经典编程题50道之三十九

写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class Example39 {    public static void main(String[] args) {        length("Hello World!");    } public static void length(String s) {        int n = s.length();        System.out.println("输入的字符

Java经典编程题50道之三十八

编写一个函数:输入n为偶数时,调用函数求1/2+1/4+...+1/n:当输入n为奇数时,调用函数1/1+1/3+...+1/n. public class Example38 {    public static void main(String[] args) {        double d = sum(3);        System.out.println("运算结果为:" + d);    } public static double sum(int n) {     

Java经典编程题50道之四十六

编程实现两个字符串的连接. public class Example46 {    public static void main(String[] args) {        addString("hello"," world!");    }    public static void addString(String s1,String s2){        String s3=s1+s2;        System.out.println("

Java经典编程题50道之十六

输出九九乘法表. public class Example16 {    public static void main(String[] args) {        table(9);    } public static void table(int n) {        for (int i = 1; i <= n; i++) {            for (int j = 1; j <= i; j++) {                System.out.print(j +

Java经典编程题50道之五十

有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud"中. public class Example50 {    public static void main(String[] args) {        stud();    } public static void stud() {        Scanner ss = new Scanner(System.in);