Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从数组中打印出一个随机字符串_Java_Arrays_Printing_System - Fatal编程技术网

Java 如何从数组中打印出一个随机字符串

Java 如何从数组中打印出一个随机字符串,java,arrays,printing,system,Java,Arrays,Printing,System,嗨,我想知道如何打印一个数组的一个随机值,而不是其中的两个。这是我的密码: public static void main(String args[]) { String[] currentRoom; String[][] rooms = new String [2] [2]; rooms [0] [0] = "Start"; rooms [0] [1] = "Treasure Room 1"; rooms [1] [0] = "Goblin Hive

嗨,我想知道如何打印一个数组的一个随机值,而不是其中的两个。这是我的密码:

public static void main(String args[])
{

    String[] currentRoom;
    String[][] rooms = new String [2] [2];
    rooms [0] [0] = "Start";
    rooms [0] [1] = "Treasure Room 1";
    rooms [1] [0] = "Goblin Hive 1";
    rooms [1] [1] = "Spider Nest";

    Random rand = new Random();
    {

        currentRoom = rooms[rand.nextInt(rooms.length)];

        System.out.println(Arrays.toString(currentRoom));

    }
}
当我打印出来时,它会显示我数组中的两个值,比如:[“开始”,“宝藏室1”],我需要它只打印出一个值,比如:[“开始”]或者[“蜘蛛巢1”]。我在想我怎么才能解决这个问题


非常感谢您的帮助:)

您需要在第二维度中生成一个随机索引,如下所示:

String[] currentRoomRow = rooms[rand.nextInt(rooms.length)];
String currentRoom = currentRoomRow[rand.nextInt(currentRoom.length)];
System.out.println(currentRoom);

当所有行的大小相同时,这是正常的;如果没有,上述代码将“青睐”来自“较短”行的项目。修复这一缺陷需要更多的准备:您需要“展平”数组,生成一个最大项数的随机数,然后从展平的数组中选取一项。

这是一个二维数组。通过只使用一个索引,您将得到一个数组(可能有多个值)。通过
使用房间[0]
您将返回
[“开始”,“宝藏房间1”]

因此,您必须通过2个索引

达斯宾莱特的解决方案似乎是最好的