课后习题

快速查找数组中的某个元素,并返回下标

package b3;

import java.util.Arrays;

public class work1 {

    public static void PX(int []array){
        int tmp=0;

        for(int i=0;i<array.length;i++){
            for(int j=0;j<array.length-i-1;j++){
                if(array[j]>array[j+1])
                {tmp=array[j];
                array[j]=array[j+1];
                array[j+1]=tmp;

                }
                }
        }




    }
    public static int CZ(int []array,int n){
        int i;
        for( i=0;i<array.length;i++){
            if(array[i]==n){
                return i;}
                }
        return 0;
            }

    public static void main(String[] args) {
        int []a={9,5,8,6,7,3,87,2};
        System.out.println("排序之后的数组");
        PX(a);
        for(int i=0;i<a.length;i++){
        System.out.println(a[i]);}
        int b=CZ(a,87);

        System.out.println("查找的值下标为");
        System.out.println(b);

        // TODO Auto-generated method stub

    }

}

输出结果
这里写图片描述

2.如何排序数组并插入某个元素

public class work2 {


    public static void PX(int []array){
        int tmp=0;

        for(int i=0;i<array.length;i++){
            for(int j=0;j<array.length-i-1;j++){
                if(array[j]>array[j+1])
                {tmp=array[j];
                array[j]=array[j+1];
                array[j+1]=tmp;

                }
                }
        }


            }

    public static void show(int[]array){
        for(int i=0;i<array.length;i++){
            System.out.println(array[i]);
        }
    }
    public static void main(String[] args) {
        int[]a={5,6,8,7};
        int t=10;//需要插入得数
        int[]b=new int[a.length+1];
         b[0]=10;
         for(int i=1;i<b.length;i++){
             b[i]=a[i-1];

         }
         System.out.println("原数组");
         show(a);
         System.out.println("新数组");
         PX(b);
        show(b);

        // TODO Auto-generated method stub

    }

}

结果
这里写图片描述

3.如何确定二维数组上限

这个暂时木有做

4.反转数组


public class work4 {
    public static void show(int[]array){
        for(int i=0;i<array.length;i++){
            System.out.println(array[i]);
        }
    }

    public static void main(String[] args) {

            int[] a = {1,2,3,4,5};
            int[] b = new int[a.length];
            for (int i = 0; i < a.length; i++) {
                b[a.length-i-1] = a[i];
            }
            show(b);


        }
}

输出结果为 5 4 3 2 1

5,如何将字符串数组写入输出控制台

public class work5 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
          String[] T = {"q","w","e","r"};
            for (int i = 0; i < T.length; i++) {
                System.out.print(T[i]+",");
            }
            System.out.println();

            for (String string : T) {
                System.out.print(string+",");
            }

    }

}

结果
q,w,e,r,
q,w,e,r,

6.如何搜索数组中最小值,最大值


public class work6 {

    public static void main(String[] args) {
        int[] a = {1,3,5,7,9,11};
        int max=a[0],min=a[0];
        for (int i = 0; i < a.length; i++) {
            if(a[i]>max)
            {
                max = a[i];
            }
            if(a[i]<min)
            {
                min = a[i];
            }
        }
        System.out.println("max="+max+"  min="+min);
    }
    }

输出结果 max=11 min=1
7.如何合并两个数组



public class work7 {

    public static void main(String[] args) {
        int[] a = {1,2,3,4,5};
        int[] b = {100,7,8,9,10};
        int[] c = new int[a.length+b.length];
        for (int i = 0; i < a.length; i++) {
            c[i] = a[i];
        }
        for (int i = 0; i <b.length; i++) {
            c[i+a.length] = b[i];
        }
       for(int i=0;i<c.length;i++){
           System.out.println(c[i]);
       }

        // TODO Auto-generated method stub

    }

}

结果为

1 2 3 4 5 100 7 8 9 10

8.如何填充数组

import java.util.Arrays;


public class work8 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int[] a = new int[8];
            Arrays.fill(a, 8);//a指的是数组名,8指的是填充进去的数
            System.out.println(Arrays.toString(a));

    }

}

结果为
8 8 8 8 8 8 8 8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值