1

嗨,我一直在尝试制作我的第一款游戏,但遇到了困难。我想从字符串数组中提取一个随机字符串,然后将其打印出来,但我的代码中有错误。我已经看遍了,但我找不到解决方案。这是代码:(我已经声明了 currentRoom 变量)

      int currentRoom;
String [][] rooms = {{"Start", "Treasure Room1"}, {"Goblin Home1", "Spider Nest1"}};

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


System.out.println(currentRoom);

我在第 6 行的 currentRoom 变量上有一个错误,我认为这把一切都搞砸了,但我不知道所以错误可能在任何地方。

任何帮助表示赞赏:)

4

3 回答 3

2

你必须改变两件事:

  1. currentRoom 应该是字符串数组
  2. 打印字符串数组应该使用 Arrays.toString

             String[] currentRoom;
         String [][] rooms = {{"Start", "Treasure Room1"}, {"Goblin Home1", "Spider Nest1"}};
    
         Random rand = new Random();
    
         currentRoom = rooms [rand.nextInt(rooms.length)];
    
    
         System.out.println(Arrays.toString(currentRoom));
    

样本输出

[Goblin Home1, Spider Nest1]

希望这可以帮助!

于 2013-04-15T01:51:19.793 回答
1

为什么需要二维字符串数组?我认为您可以改为使用一维数组进行管理。

String currentRoom;
String[] rooms = {"Start", "Treasure Room1", "Goblin Home1", "Spider Nest1"};
Random rand = new Random();
currentRoom = rooms [rand.nextInt( rooms.length)];

System.out.println(currentRoom);
于 2013-04-15T01:56:49.760 回答
0
String currentRoom;
String [][] rooms = {{"Start", "Treasure Room1"}, {"Goblin Home1", "Spider Nest1"}};

Random rand = new Random();
int rnd = rand.nextInt( rooms.length);
currentRoom = rooms [rnd][0] + ":"+ rooms [rnd][1];

System.out.println(currentRoom);
于 2013-04-15T01:49:19.897 回答