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.out.print("插入前的数组为:");
        for (int r : a) {
            System.out.print(r + " ");
        }
        int[] b = new int[a.length + 1];
        int i, j, k;
        for (i = 0; i < a.length; i++) {
            if (a[i] >= n) {
                for (j = a.length; j > i; j--)
                    b[j] = a[j - 1];
                b[i] = n;
                break;
            } else {
                b[a.length] = n;
            }
        }
        for (k = 0; k < i; k++)
            b[k] = a[k];
        System.out.print("\n插入" + n + "后的数组为:");
        for (int r : b) {
            System.out.print(r + " ");
        }
    }
}

时间: 2024-08-10 10:04:53

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道之三十九

写一个函数,求一个字符串的长度,在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个整数,使其前面各数顺序向后移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) {        

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道之五十

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

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 Example40 {    public static void main(String[] args) {        String[] s={"math","english","java","java web","rose"};        stringSort(s);    } public static void stringS