【发布时间】:2020-06-15 16:41:05
【问题描述】:
您好,我想从使用 switch 语句的方法中获取二维数组。我想取出num1或num2,所以其他方法可以使用这个数字。这可能吗,怎么做? 这是我的代码:
public int[][] gameNumbers(){
int rand = (int)(Math.random() * 2) + 1;
switch(rand) {
case 1:
int [][] num1= {{4,3,5,2,6,9,7,8,1},{6,8,2,5,7,1,4,9,3},{1,9,7,8,3,4,5,6,2},{8,2,6,1,9,5,3,4,7},{3,7,4,6,8,2,9,1,5},{9,5,1,7,4,3,6,2,8},{5,1,9,3,2,6,8,7,4},{2,4,8,9,5,7,1,3,6},{7,6,3,4,1,8,2,5,9}};
break;
case 2:
int [][] num2= {{1,7,4,3,5,2,9,6,8},{5,3,6,8,7,1,6,4,5,3},{2,9,8,7,1,6,4,5,3},{4,2,3,1,7,8,6,9,5},{8,5,7,2,6,9,3,4,1},{9,6,1,4,3,5,7,8,2},{3,8,2,6,4,7,5,1,9},{7,4,9,5,2,1,8,3,6},{6,1,5,9,8,3,2,7,4}};
break;
default:
break;
}
return rand;
}
【问题讨论】:
-
数组可以是随机的吗?如果是这样,为什么不直接生成一个随机数组而不是
switch? -
另外,如果您在
default的情况下不做任何事情,您就不需要编写它。而且你的方法是错误的,它返回了一个无效类型,因为在签名中你让它返回int[][],而你试图简单地返回int。 -
@chriptus13 数组不能是随机的,那些是数独的数组:)
标签: java arrays switch-statement return-value