Java数组02

数组02

2.1 选择排序:拿第一个值跟所有值比较

案例一:查询数组中的值

 案例一:

package com.lyc.test;

import java.util.Scanner;

public class ArrayDemo01 {
    //查询数组中的值
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = {12,23,4,65,78}; 
        System.out.print("输入一个要查找的数据:");
        int num = sc.nextInt();
    
        boolean f = true;

        for(int i=0;i<arr.length;i++){
            //判断num的值是否等于数组里面的一个元素
            if(num == arr[i]){
                f = true;
                break;
            }
            else{
                f = false;
            }
        }
        if(f){
            System.out.print("这个值在数组中被包含");
        }else{
            System.out.print("查无此人");
        }
    }
}

案例二:选择排序  降序

package com.lyc.test;


public class ArrayDemo02 {
    //选择排序  降序
    public static void main(String[] args) {
        int[] arr = {12,23,4,56,3};
        for(int i=0;i<arr.length;i++){
            for(int j = i+1;j<arr.length;j++){
                if(arr[i]<arr[j]){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

结果:

案例三:将数组中的元素76改为6

package com.lyc.test;

public class ArrayDemo03 {
    // 将数组中的元素76改为6;
    public static void main(String[] args) {
        int[] arr = { 12, 32, 4, 76, 15 };

        int index = 0;// 记录下标
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 76) {
                index = i;
            }
        }
        arr[index] = 6;
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }

    }
}

案例四:删除元素,并将该元素后面的元素往前移动

package com.lyc.test;

public class ArrayDemo03 {
    public static void main(String[] args) {
        int[] arr = { 12, 34, 56, 78, 89 };
        // 删除56,将78 和 89 往前移一位

        int index = 0;// 记录下标
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 56) {
                index = i;
            }
        }

        // 将index以后的值往前移动
        for (int a = index; a < arr.length - 1; a++) {
            arr[a] = arr[a + 1];
        }

        arr[arr.length - 1] = 0;

        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

 2.2 冒泡排序:相邻两个值比较

案例五:替换

package com.lyc.test;

import java.util.Scanner;

public class ArrayDemo05 {
    
    public static void main(String[] args) {
        /**
         * 替换: 有一个数组arr, 数组元素{"奥巴马","普京","哥白尼","泽东","列宁","金正日"}, 
         * 实现一个替换功能, 如果你查找的人存在的话, 就询问需要替换的另一个人名, 
         * 否则提示:查无此人
         * 输出要求: 替换前和替换后对比
         */
        Scanner sc = new Scanner(System.in);

        //int[] arr = new int[5];
        
        String[] names = {"奥巴马","普京","哥白尼","泽东","列宁","金正日"};

        boolean bool = true;
        int index = 0;

        System.out.print("请输入要查找的姓名:");

        String xinMing = sc.next();

        for(int i=0;i<names.length;i++){
            if(xinMing.equals(names[i])){
                bool = true;
                index = i;
                break;
            }else{
                bool = false;
            }
        }
        if(bool == true){
            System.out.print("请输入代替的姓名:");
            String xm = sc.next();
            names[index] = xm;
        }else{
            System.out.print("查无此人!");
        }
        System.out.println();
        for(int i=0;i<names.length;i++){
            System.out.print(names[i]+" ");
        }
    }
}

案例六:冒泡排序

package com.lyc.test;

public class ArrayDemo06 {

    public static void main(String[] args) {
        int[] arr = new int[] { 45, 12, 6, 98, 3 };

        for (int x = 0; x < arr.length - 1; x++) {
            for (int y = 0; y < arr.length - 1 - x; y++) {
                if (arr[y] > arr[y + 1]) {
                    int temp = arr[y];
                    arr[y] = arr[y + 1];
                    arr[y + 1] = temp;
                }
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

结果:

2.3 在java中为了排序,Java添加了一个属性(工具包),这个工具包会自动的排序

 Arrays类------Arrays.sort() 升序排序

package com.lyc.test;

import java.util.Arrays;

public class ArrayDemo07 {

    public static void main(String[] args) {

        int[] arr = new int[] { 45, 12, 6, 98, 3 };
        Arrays.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

 结果:同案例六

猜你喜欢

转载自www.cnblogs.com/chao123/p/10309509.html