首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从二维数组中打印随机值,这些值来自其他一维数组(应该是字符串)

从二维数组中打印随机值,这些值来自其他一维数组(应该是字符串)
EN

Stack Overflow用户
提问于 2021-12-13 09:14:27
回答 1查看 26关注 0票数 0

我需要创建一个包含500行随机字符串值的2D数组,但是每个列都必须有自己的随机值,例如,第一列只有"M“或"F",第二列必须只有"Bsc”或"Msc“等等。总共将有4栏,性别,计划,学习和年份。

在此之后,我需要从这个2D数组中打印出所有可能的值。

代码语言:javascript
运行
复制
import java.security.SecureRandom;

public class read {

    public static void main(String[] args) {

        int row = 500;
        int col = 5;
        String[][] grid = new String[row][col];
        String[] Gj = {"M","F"};
        String[] AB = Gj;
        SecureRandom rnd = new SecureRandom();
        for (int i = 0; i < grid.length; i++) {
            StringBuilder sb = new StringBuilder(row);
            for (int j = 0; j < grid[i].length; j++) {
                sb.append(AB.charAt(rnd.nextInt(AB.length())));
                sb.toString();
                grid[i][j] = sb.toString();
            }
        }

        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[i].length; j++) {
                System.out.print(""+grid[i][j]);
            }
            System.out.println();
        }

    }
} 

到目前为止,这就是我所做的,我知道在那里使用AB.length()有一个问题。

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 09:28:54

试试这段代码。我为第一和第二栏做过。

代码语言:javascript
运行
复制
public static void main(String[] args) {
    int row = 500;
    int col = 5;
    String[][] grid = new String[row][col];
    String[] col1 = {"M","F"};
    String[] col2 = {"Bsc","Msc"};
    SecureRandom rnd = new SecureRandom();
    for (int i = 0; i < grid.length; i++) {
        for (int j = 0; j < grid[i].length; j++) {
            if(j == 0) {
                grid[i][j] = col1[rnd.nextInt(col1.length)];
            } else if(j == 1) {
                grid[i][j] = col2[rnd.nextInt(col2.length)];
            } else if(j == 2) {
                grid[i][j] = "studies"+rnd.nextInt();
            } else {
                grid[i][j] = "year"+rnd.nextInt();
            }
        }
    }
    for (int i = 0; i < grid.length; i++) {
        for (int j = 0; j < grid[i].length; j++) {
            System.out.print(grid[i][j]+" ");
        }
        System.out.println();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70332231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档