gpt4 book ai didi

java - 如何根据 String 类型方法(java)中的 if 语句返回多个值?

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

我正在完成一项作业的一部分,该作业要求我计算运行速度高于平均速度的运行者(基于作业中给出的速度/名称..的 15 名运行者,并且我已经将所有 15 个值添加到主方法中的数组)。

在定义类中,我创建了一个方法(根据分配必须是 String 类型)来计算运行者 [i] 的时间是否 =< 平均速度。

这是我查找高于平均水平的运行者的方法(有多个),但此方法在主程序中运行时仅打印一个运行者。我如何允许返回多个数组值?

代码:

// Finding above average:

public static String getAboveAverageRunners(BanffMarathonRunner[] runners) {

for (int i = 0; i < runners.length; i++) {

if (runners[i].getTime() <= BanffMarathonRunner.getAverageTime(runners)) {

String aboveAverage = runners[i].getFirstName() + " " + runners[i].getLastName() + ", Years Competing: "
+ runners[i].getYears();

return aboveAverage;

} // End of if

} // End of for loop

return null;

} // End of getAboveAverageRunner method:


} // End of class BanffMarathonRunner:
<小时/>

修改:

public static String getAboveAverageRunners(BanffMarathonRunner[] runners) {

ArrayList<String> thoseAbove = new ArrayList <String>();

for (int i = 0; i < runners.length; i++) {

if (runners[i].getTime() <= BanffMarathonRunner.getAverageTime(runners)) {

String aboveAverage = runners[i].getFirstName() + " " + runners[i].getLastName() + ", Years Competing: "
+ runners[i].getYears();


thoseAbove.add(aboveAverage);

//return aboveAverage;

// End of if statement:
}

// End of for loop:
}
return thoseAbove;

现在,我在返回 thoseAbove 时遇到错误

Type mismatch: cannot convert from ArrayList<String> to String

我理解这个错误,但我只是不知道如何在保留返回类型的同时修复它。

最佳答案

如果它必须返回一个字符串,那么返回一个管道分隔的字符串怎么样?

例如

StringBuilder myList = new StringBuilder ();
for (int i = 0; i < runners.length; i++) {

if (runners[i].getTime() <= BanffMarathonRunner.getAverageTime(runners)) {

String aboveAverage = runners[i].getFirstName() + " " + runners[i].getLastName() + ", Years Competing: "
+ runners[i].getYears();

myList.append (aboveAverage).append ("|");

// End of if statement:
}

// End of for loop:
}
return myList.toString (); // maybe remove the trailing pipe

然后在你的调用方法中你可以使用String.split("\\|")

关于java - 如何根据 String 类型方法(java)中的 if 语句返回多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150063/

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