gpt4 book ai didi

java - 条件数组声明

转载 作者:行者123 更新时间:2023-12-01 06:39:02 25 4
gpt4 key购买 nike

我想根据条件声明一个特定大小的数组,但 Eclipse 给了我一个错误。这是我的 if 条件:

  if ( (a.length == b.length) && (a[maxlength - 1] + b[maxlength - 1] >= 10))
int[] c = new int[maxlength + 1];
else
int[] c = new int[maxlength];

我在两个数组声明的行上收到以下错误:

  • “c 无法解析为变量”
  • “标记语法错误,构造错误”

为什么这不起作用?是否有其他方法可以实现相同的目标?

最佳答案

这是由于 block 级作用域所致。 c 仅在 block 的范围内已知。因此,cif block 和 else block 内是已知的,但还要记住,c 内部else 中的 ifc 是不同的。一旦控制退出任一 block (因为它在任何时候只能位于其中一个 block 中),对 c 的引用就会丢失。

如果您希望 c 在 block 之外可用,则应在外部声明它:

int[] c;
if ( (a.length == b.length) && (a[maxlength - 1] + b[maxlength - 1] >= 10)) {
c = new int[maxlength + 1];
} else {
c = new int[maxlength];
}

我还建议在 ifelse 中使用大括号,因为否则只会执行后续语句,如果不小心,可能会导致微妙的错误。

关于java - 条件数组声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20380366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com