需求:
某公司开发部5名开发人员,要进行项目进展汇报演讲,现在采取随机排名后进行汇报.请先依次录入5位员工的工号,然后展示出一组随机的排名顺序.
分析:
① 使用数组把五位员工的工号数据存储起来
② 依次遍历数组中的元素,随机一个索引的数据,让当前与该索引位置的元素进行交换.
代码展示:
import java.util.Random;
import java.util.Scanner;
public class Text4 {
public static void main(String[] args) {
int[] codes = new int[5];//5个工号
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];//定义一个临时变量存储index位置处的值
codes[index] = codes[i];//把要交换的数据放到空了的index地址上
codes[i] = temp;//最后把临时变量里的数据放到空了的要交换数据的地址上
}
System.out.print("随机后的排名顺序为: ");
for (int i = 0; i < codes.length; i++) {//遍历数组元素输出随机排名的结果
System.out.print(codes[i] + "\t");
}
}
}
运行截图: