Insert and sort elements in JAVA array

/*
*恒盛人事管理系统
* author :Mr. ZHAO
*/
/*throws InterruptedException*/
import java.util.*;
public class HengSProject
{
    
    
        public static void main(String[] args)  {
    
    
            //输入所有员工年龄
            Scanner scanner = new Scanner(System.in);
            System.out.println("*********************");
            System.out.println("欢迎使用恒盛人事管理系统!");
            System.out.println("*********************\n");
            System.out.println("请接下来请您将依次输入贵公司员工年龄(默认有5位员工,且员工年龄区间为[10,100]):\n");
            //创建一个数组,存放员工年龄
            int[] users = new int[5];
            boolean Flag = false;
            for (int i = 0; i < users.length; i++) {
    
     //遍历数组一定要用0和数组的长度
                do{
    
    
                    System.out.print("请输入第" + (i + 1) + "号员工的年龄:");
                    users[i] = scanner.nextInt();
                    if(users[i] > 100 || users[i] < 10){
    
    
                     System.out.println("系统检测到非法输入,请重新输入:");
                     Flag = true;}
                    else Flag = false;
                }while(Flag);
            }
            System.out.println("------------------------------------------------");
            
            boolean flag = true;
            label:
         do{
    
    
            System.out.println("功能选择: 1 年龄排序. 2 最大年龄. 3 插入一名新员工的年龄 4 退出");
            int function = scanner.nextInt();
            System.out.println("您选择了功能" + function);
            switch (function) {
    
    
                case 1:
                    for (int i = 0; i < users.length - 1; i++) {
    
    
                        for (int j = i + 1; j < users.length; j++) {
    
    
                            if (users[i] > users[j]) {
    
    
                                int temp = users[i];
                                users[i] = users[j];
                                users[j] = temp;
                            }
                        }
                    }
                    break;
                case 2:
                    int max = users[0];
                    for (int i = 0; i < users.length; i++)
                        if (users[i] > max) {
    
    
                            int temp = max;
                            max = users[i];
                            users[i] = temp;
                        }
                    System.out.println("恒盛年纪最大的老家伙已经" + max + "岁了!");
                    break;
                case 3:
                    //数组一旦创建就不能改变,扩容必须新建一个
                    //1 创建新数组
                    int[] tempUsers = new int[users.length + 1];
                    //2 复制旧数组内容到新数组
                    for (int i = 0; i < tempUsers.length - 1; i++) {
    
    
                        tempUsers[i] = users[i];
                    }
                    //3 把新的年龄放在新数组最后一位
                    boolean flag1 = false;
                    do {
    
    
                        System.out.println("请输入新员工的年龄(10<=age<=100):");
                        tempUsers[tempUsers.length - 1] = scanner.nextInt();
                        //4 检查输入是否合法
                        if (tempUsers[tempUsers.length - 1] > 100 || tempUsers[tempUsers.length - 1] < 10) {
    
    
                            System.out.println("系统检测到非法输入,请您重新输入:");
                            flag1 = true;
                        }
                        else flag1 = false;
                    }while(flag1);
                    //5 旧数组地址指向新数组
                    users = tempUsers;
                    break;
                case 4:
                    flag = false;
                    System.out.println("即将退出程序,欢迎下次使用~");
                    break;
               
               /*  			case 5 为待补充功能 
               
               case 5:
                    System.out.println("1");
                    Thread.currentThread().sleep(5000);
                    System.out.println("2");
                    Thread.currentThread().sleep(5000);
                    System.out.println("3");
                    Thread.currentThread().sleep(5000);
                    System.out.println("4");
                    Thread.currentThread().sleep(5000);
                    System.out.println("5");
                    break ;*/
                default:
                    System.out.println("当前功能尚不存在,请您重新选择:");
                    continue label;     //Java标签使用,跳转至switch首的label
            }
            System.out.println("--------------------------------------------------------");
            System.out.println("当前员工信息:");
            for(int i = 0 ; i < users.length; i++) {
    
    
                System.out.println("第" + (i + 1) + "号员工的年龄是:" + users[i]);
            }
            System.out.println("--------------------------------------------------------");
        }while(flag);
    }
}

Guess you like

Origin blog.csdn.net/qq_53703628/article/details/112165207