qq_39551237 2023-07-21 09:31 采纳率: 70%
浏览 34
已结题

JAVA 数组随机取值

int[] arr = {1, 2, 3, 4};
int a, b, c;
我想把 数组中 随机取3个数 赋值给abc 其中 1是必须要有的随机赋给abc,然后 2 3 4 随机再赋给其他两个变量,2 3 4 可以重复
例如:
a=1 b=2 c=2
a=2 b=3 c=1
a=3 b=1 c=3

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-07-21 09:43
    关注
    import java.util.Random;
    import java.util.ArrayList;
    
    public class Main {
        public static void main(String[] args) {
            int[] arr = {1, 2, 3, 4};
            int[] result = new int[3];
            Random r = new Random();
            ArrayList<Integer> lst = new ArrayList<>();
            lst.add(0);
            lst.add(1);
            lst.add(2);
    
            int idx = r.nextInt(3);
            result[idx] = arr[0];
            lst.remove(Integer.valueOf(idx));
    
            int idx1 = r.nextInt(3) + 1;
            int idx2 = r.nextInt(3) + 1;
            result[lst.get(0)] = arr[idx1];
            result[lst.get(1)] = arr[idx2];
    
            int a, b, c;
            a = result[0];
            b = result[1];
            c = result[2];
    
            System.out.println("a = " + a + ", b = " + b + ", c = " + c);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月29日
  • 已采纳回答 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥20 想写一个文件管理器,加载全部子文件夹后,要一级一级返回
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?
  • ¥15 已知平面坐标系(非直角坐标系)内三个点的坐标,反求两坐标轴的夹角
  • ¥15 webots有问题,无响应
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?