gpt4 book ai didi

java - 不明白错误信息

转载 作者:行者123 更新时间:2023-11-29 10:02:46 25 4
gpt4 key购买 nike

public class ArrayPrac {

public static void main(String[] args) {
int[] arrayOne = {2, 3, 4, 5, 6};
System.out.println(findMin(arrayOne));
}

public static void findMin(int[] list) {
int minValue = list[0];
int i = 1;
for( i = 1; 1 < list.length; i++);
if(list[i] < minValue) {
minValue = list[i];

}
}
}

在第 6 行的 System.out.print 部分,它不会运行并给我编译器错误:

The method println(boolean) in the type PrintStream is not applicable for the arguments (void)

我似乎已经搜索了一整天的答案,所以现在我发布我的具体案例。

干杯。

最佳答案

解决这个问题,在您的 findMin() 方法结束时,您必须返回找到的最小值:

return minValue;

因此,方法签名也必须更改:

public static int findMin(int[] list)

这是有道理的:如果 findMin() 方法做了所有努力来找到最小值,那么最终结果一定不能作为局部变量保留,它在外部没有用处如果您在方法调用结束后没有返回它。

顺便说一句,还有另一个难以发现的错误潜伏着。删除带有 for 的行末尾的 ;,并将循环内容放入一对 {} 中。目前,循环是空的,for 之后的行位于循环的外部。而且循环条件也是错误的!以下是解决所有问题后该方法的处理方式:

public static int findMin(int[] list) {
int minValue = list[0];
for (int i = 1; i < list.length; i++) {
if (list[i] < minValue) {
minValue = list[i];
}
}
return minValue;
}

关于java - 不明白错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18898989/

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