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