gpt4 book ai didi

Java "missing return statement"

转载 作者:行者123 更新时间:2023-12-01 18:06:56 24 4
gpt4 key购买 nike

这是我的代码的一小部分。问题是,无论什么代码都会进入 if陈述。

public static double value(char[][] array, int x, int y) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[0].length; j++) {
if (array[i][j] == (char) 120) {
int x_cord = i;
int y_cord = j;
int width = (x_cord - x);
int height = (y_cord - y);
Math.abs(width);
Math.abs(height);
double distance = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));
return distance;
}

}
}
}

我知道我在某个地方有一个逻辑缺陷,我需要以某种方式告诉程序它无论如何都会到达那里,但我可以这样做吗?

最佳答案

编译器不会接受返回类型为非void的方法,如果不确定的话

  • 返回一个值或
  • 抛出异常

由于您确定循环内的 return 语句始终执行,因此您可以添加具有任意值的 return 语句或引发异常:

public static double value(char[][] array, int x, int y) {
for (int i = 0; i < array.length; i++) {
...
}
throw new IllegalArgumentException("array must contain a char with code 120");
}

关于Java "missing return statement",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672107/

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