Ale*_*eer 1 java arrays boolean void
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];
}
}
}
Run Code Online (Sandbox Code Playgroud)
在第6行的System.out.print部分,它不会运行并给我编译器错误:
PrintStream类型中的println(boolean)方法不适用于参数(void)
我似乎整天都在寻找答案,所以现在我发布我的具体案例.
干杯.
解决此问题,在findMin()方法结束时,您必须返回找到的最小值:
return minValue;
Run Code Online (Sandbox Code Playgroud)
因此,方法签名也必须改变:
public static int findMin(int[] list)
Run Code Online (Sandbox Code Playgroud)
这是有意义的:如果findMin()方法完成所有努力以找到最小值,则最终结果不能保留为局部变量,如果在方法调用结束后不返回它,则它在外部没有用.
顺便说一下,潜伏着另一个难以发现的错误.用the删除;行尾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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |