Joh*_*ohn 0 java arrays if-statement
我想知道是否有任何方法可以声明一个不同大小的数组,具体取决于是否满足if语句条件.但是,在将此代码键入NetBeans之后:
if(winner == true)
double data[][] = new double[16][5];
else
double data[][] = new double[14][5];
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息,指出:此处不允许变量声明.
为什么不允许这样做?有没有办法完成我想做的事情?蒂亚.
注意
正如在提供的答案中明确指出的那样,我在写这篇文章时没有考虑范围.我道歉.感谢所有提供有用解决方案和见解的人.
Swe*_*per 12
另一种解决方案是:
double data[][] = new double[winner ? 16 : 14][5];
Run Code Online (Sandbox Code Playgroud)
这x ? a : b件事被称为"三元运算符".它评估aif是否x为true,否则b.
你应该做 :
double data[][];
if(winner == true) // or just --> if (winner)
data = new double[16][5];
else
data = new double[14][5];
Run Code Online (Sandbox Code Playgroud)
基本上,当你在if中声明它时,你只能在if中使用它.它的范围仅限于此.