Java 如何用随机字符串填充二维数组

Java 如何用随机字符串填充二维数组,java,arrays,string,random,Java,Arrays,String,Random,正如标题所说,我想用随机字符串填充2d数组,在本例中是“ux”和“W”,我制作了2d数组和随机字符串生成器,但我可以找到一个方法来填充用生成的字符串创建的数组 import java.security.SecureRandom; public class Array_Generator { public static void main(String[] args) { int row = 5; int col = 5; int[][] grid = new int[

正如标题所说,我想用随机字符串填充2d数组,在本例中是“ux”和“W”,我制作了2d数组和随机字符串生成器,但我可以找到一个方法来填充用生成的字符串创建的数组

import java.security.SecureRandom;

public class Array_Generator {
public static void main(String[] args) {

    int row = 5;
    int col = 5;
    int[][] grid = new int[row][col];
    String AB = "_W";
    SecureRandom rnd = new SecureRandom();
    for( int i = 0; i < grid.length; i++ ) {
        StringBuilder sb = new StringBuilder(row);
        sb.append( AB.charAt( rnd.nextInt(AB.length()) ) );
        sb.toString();


    }
System.out.println(sb);
导入java.security.SecureRandom;
公共类数组生成器{
公共静态void main(字符串[]args){
int行=5;
int col=5;
int[][]网格=新的int[行][col];
字符串AB=“_W”;
SecureRandom rnd=新的SecureRandom();
对于(int i=0;i
如果我这样做,我会得到我想要的那一排,但是我找不到一个地方去做下一排


非常感谢您的帮助。

您使用了二维(2D)数组。因此,您需要遍历这两个数组。作为解决方案,您可以使用嵌套for循环

  • 首先将2D数组类型更改为字符串
  • 接下来将
    sb.toString();
    添加到该数组中
然后:


grid
是一个
int[][]
所以它不能容纳
String
s。更改类型,并在内部循环中分配随机字符串

// int[][] grid = new int[row][col];
String[][] grid = new String[row][col];

...

// sb.toString();
grid[i][j] = sb.toString();

以下是其中一种方法:

import java.security.SecureRandom;

public class Array_Generator {

    public static void main(String[] args) {

        int row = 5;
        int col = 5;
        String[][] grid = new String[row][col];
        String AB = "_W";
        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();
        }

    }
}

那么你和某人在干什么呢?您正在迭代一个二维整数数组,但没有在其中放入任何内容,您的问题是询问一个二维字符串数组。您是否在某处打印字符串?您的答案也是正确的,我会将其标记为正确的,因为它更完整。谢谢。我也是,谢谢!祝您编程愉快!
// int[][] grid = new int[row][col];
String[][] grid = new String[row][col];

...

// sb.toString();
grid[i][j] = sb.toString();
import java.security.SecureRandom;

public class Array_Generator {

    public static void main(String[] args) {

        int row = 5;
        int col = 5;
        String[][] grid = new String[row][col];
        String AB = "_W";
        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();
        }

    }
}
WW_W__W__WW__W_
__W_WW_WW__WW_W
__W_W__W_W_W_W_
WW_W_WW_W_W_W__
WW_W__W___W____