java - 如何使数组的前半部分是从 0 到 7 的随机整数,后半部分是数组前半部分的随机成员,但只能选择一次
问题描述
我想制作一个二维数组,例如 {{2,5,5,2,4,7,6},{5,2,6,7,4,5,2}} 数组的前半部分是随机的整数,数组的后半部分是数组前半部分的随机成员。这样我就有了成对的每个随机数。到目前为止,这是我的代码,它给了我一个带有随机数的数组。我不知道该怎么做的部分是数组的后半部分。请帮忙!
private int[][] board;
private int[] arr = {1,2,3,4,5,6,7,8};
public Board() {
board = new int[DEFAULT_SIZE][DEFAULT_SIZE];
for (int i=0;i<board.length;i++) {
for (int j=0;j<board.length;j++) {
board[i][j] = (int) (Math.random()*10);
}
}
解决方案
您可以使用 Random.nextInt() 获取随机索引,然后使用它从第一个数组中获取随机数:
int randomIndex = Random.nextInt(arr.length);
int randomVal = arr[randomIndex];
推荐阅读
- javascript - React 在使用 Axios 时在浏览器日志中抛出“Objects are not valid as a React child”错误
- r - 如何创建提取月份和年份的表
- python - Python 默认字典
- r - 将 R 数据框写入具有多个工作表的 excel 文件
- php - 如何编辑 Laravel jet 蒸汽配置文件的布局?
- c# - KeyPressEventArgs 中的 C# 循环
- google-apps-script - Google 表格中的交互式和可变图像
- azure - HttpContext.RequestAborted 未在使用 Azure 应用程序网关对服务进行负载平衡时发出信号
- c - Unreliable PEC on stm32 smbus
- spring-boot - 仅在测试子集中使用 MockRestServiceServer