• 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]);
            }
        }
    }

     结果:同案例六

  • 相关阅读:
    区块链在零售业和银行业的广泛应用
    云存储平台产品浅析
    LINUX操作系统知识:进程与线程详解
    hibernate实现分页
    Hibernate 映射文件的配置 核心文件的配置 一对一 一对多 多对多 hibernate检索策略 Hibernate中session的关闭问题总结
    留言系统项目总结
    jquery 进行dom操作
    数据库 的outfile 备份与还原 视图 事物 触发器 mysql函数和自定义函数
    数据库的子查询、连接查询
    三 级城市,部门,员工,列表联动的问题解决,获取列表的被选中option对象问题
  • 原文地址:https://www.cnblogs.com/chao123/p/10309509.html
Copyright © 2020-2023  润新知