gpt4 book ai didi

java - 从未使用过的值/缺少返回语句

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

我正在做一个练习,我必须编写一个方法来返回数组中最大元素的索引。

代码是这样的:

import java.util.Scanner;

public class IndexLargestElement {
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("Enter 10 double values");

double[] list = new double [10];
for (int i = 0; i < list.length; i++)
list[i] = input.nextDouble();

int index = indexOfLargestElement(list);

System.out.println("The index of the largest element is " + index);
}

public static int indexOfLargestElement(double[] array){
double max = array[0];
int index = 0;
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
index = i;
return index;
}
}
}

现在 int index=0;和 max = array[i]; Netbeans 告诉我:这个值从未被使用过。为什么?我不明白我做错了什么?可能是和牙套有关的东西?当我尝试运行时,它给出编译错误,说没有返回语句。

我们始终感谢您的帮助!预先感谢:)

最佳答案

看看您的indexOfLargestElement()。这是其简化版本:

for(.....) {
if(condition) {
return something;
}
}

这意味着仅当其中一个循环迭代条件为 true 时,该方法才会返回值。但如果没有呢?您必须确保声明为返回值的方法在所有情况下都能执行此操作。

在您的情况下,您必须决定如果条件始终为假,您应该做什么。您可以返回某种默认值或抛出异常。在方法末尾执行此操作:

int indexOfLargestElement() {
for(.....) {
if(condition) {
return something;
}
}
// RETURN
return SOME_DEFAULT;
// OR, alternatively throw exception:
// throw new IllegalArgumentException("Some text");

}

关于java - 从未使用过的值/缺少返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276420/

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