Java 我需要从这个2D字符串方法返回什么?

Java 我需要从这个2D字符串方法返回什么?,java,arrays,multidimensional-array,methods,Java,Arrays,Multidimensional Array,Methods,那么这个方法需要返回什么才能得到想要的结果呢?阵列还是二维阵列 我曾尝试将字符串temp更改为字符串[][]之类的数组,但遇到了更多错误 //方法 公共静态字符串[][]洗牌字符串[][]状态{ 对于int i=0;i

那么这个方法需要返回什么才能得到想要的结果呢?阵列还是二维阵列

我曾尝试将字符串temp更改为字符串[][]之类的数组,但遇到了更多错误

//方法 公共静态字符串[][]洗牌字符串[][]状态{ 对于int i=0;i对于int j=0;j我认为您的代码太复杂了,而且您的方法命名不好

试试这个:

/**
 * @return a random [state, capital]
 */
static String[] getRandomState(String[][] states){  
     return states[(int)(Math.random() * states.length)];
}
这是:

String[] state = getRandomState(states);

System.out.println("What is the capital of " + state[0] + "?");

// get user input as user_ans

gamecounter++;
if (user_ans.equalsIgnoreCase(state[1])) {
    System.out.println("Correct!");
    correct_ans++;
} else {
    System.out.println("Incorrect! The correct answer is " + states[1]);
}
System.out.println();

如果你只是随机选取一个元素,你不需要洗牌数组;你只需要在一个随机索引中获取一个元素。@Andreas但是如果我将它设置为一个void方法,那么我就无法链接。我认为第一个块需要一些[]方括号而不是圆括号。波希米亚人我很喜欢这个解释,但我似乎无法让代码编译?@AndreasI也无法让它工作…?它说它在状态中找不到符号。@Andreas哦,是的!Thx:@Joven多亏了Andreas,我已经更正了错误。应该是:返回状态[intMath.random*states.length];注意方括号