leiyang1123 2024-02-25 10:23 采纳率: 100%
浏览 3
已结题

第几个员工的工号怎么没有?

public static void main(String[] args) {
// 目标 键盘录入—组工号,最终要随机输出—组出来作为排名
//1 动态初始化—个数组,存储5个工号
int[] codes =new int[5];

    //2 定义—个循环,循环5次,依次录入—个工号存入对应的位置
    Scanner sc =new Scanner(System.in);
    for (int i=0;i<codes.length;i++) {
        //正式录入工号
        System.out.println("请您输入第" + "个员工的工号:");
        int code =sc.nextInt();
        //存入到数组中去
        codes[i] = code;
        
    }

//3 遍历数组中的每个元素,然后随机一个索引出来,让该元素与随机索引位置处的元素值进行交换(本节的重点)
//codes = {12,36,28,45,99}
Random r = new Random();
for (int i=0;i<codes.length;i++) {

        int index = r.nextInt(codes.length);
        
        //定义—个临时变量存储index位置处的值
        int temp =codes[index];
        codes[index] =codes[i];
        codes[i] =temp;
        
    }
    //4 遍历数组元素输出就是随机排名的结果
    for (int i=0;i<codes.length;i++) {
        System.out.println(codes[i] + "\t");
    }
}

}

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-02-25 10:23
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如需一对一服务私聊我哦
    题目要求通过键盘录入5个工号,然后进行随机排序输出排名。这个问题可以分为以下几个步骤:
    1. 动态初始化一个int类型长度为5的数组,用于存储5个工号。
    2. 定义一个循环,循环5次,依次录入一个工号并存入对应的位置。
    3. 遍历数组中的每个元素,然后随机一个索引出来,让该元素与随机索引位置处的元素值进行交换,这样就能随机排序了。
    4. 遍历数组元素输出就是随机排名的结果。 这个问题的核心是第三步,需要用到Random类来生成随机数,并用一个临时变量存储索引位置处的值。 下面是一份示例代码:
    import java.util.Scanner;
    import java.util.Random;
    public class RandomSort {
        public static void main(String[] args) {
            // 动态初始化一个长度为5的int数组,用于存储5个工号
            int[] codes = new int[5];
            // 定义一个循环,依次录入5个工号
            Scanner sc = new Scanner(System.in);
            for (int i = 0; i < codes.length; i++) {
                System.out.println("请您输入第" + (i + 1) + "个员工的工号:");
                int code = sc.nextInt();
                codes[i] = code;
            }
            // 遍历数组元素,随机排序
            Random r = new Random();
            for (int i = 0; i < codes.length; i++) {
                int index = r.nextInt(codes.length);
                // 定义一个临时变量存储index位置处的值
                int temp = codes[index];
                codes[index] = codes[i];
                codes[i] = temp;
            }
            // 遍历数组输出随机排名的工号
            System.out.println("随机排名结果:");
            for (int i = 0; i < codes.length; i++) {
                System.out.println(codes[i]);
            }
        }
    }
    

    这个代码通过Scanner类从键盘上读取5个工号,并存储到一个长度为5的int数组中。然后使用Random类随机生成一个索引位置,将该位置处的值与当前循环到的位置进行交换,这样就随机排序了。最后遍历数组输出随机排名的结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图