Java 请注意,方法类型必须为字符串。如果我在for循环外部返回null,并在内部返回arraylist,这是否有效@谢谢你的帮助。我只是有点困惑,您建议的代码是否在“公共静态字符串GetUpperAveragerRunners(BanffMarathonRunn
Java 请注意,方法类型必须为字符串。如果我在for循环外部返回null,并在内部返回arraylist,这是否有效@谢谢你的帮助。我只是有点困惑,您建议的代码是否在“公共静态字符串GetUpperAveragerRunners(BanffMarathonRunn,java,arrays,string,return,Java,Arrays,String,Return,请注意,方法类型必须为字符串。如果我在for循环外部返回null,并在内部返回arraylist,这是否有效@谢谢你的帮助。我只是有点困惑,您建议的代码是否在“公共静态字符串GetUpperAveragerRunners(BanffMarathonRunner[]runners){”中方法?什么是管道分隔的字符串?是的,这将替换方法中的代码。管道是-通常使用逗号分隔记录,但由于数据中有逗号,则需要找到另一个合适的字符,例如管道。好的,谢谢。还有一件事,是您建议的数组st?我想这正是我需要的。我没
请注意,方法类型必须为字符串。如果我在for循环外部返回null,并在内部返回arraylist,这是否有效@谢谢你的帮助。我只是有点困惑,您建议的代码是否在“公共静态字符串GetUpperAveragerRunners(BanffMarathonRunner[]runners){”中方法?什么是管道分隔的字符串?是的,这将替换方法中的代码。管道是
-通常使用逗号分隔记录,但由于数据中有逗号,则需要找到另一个合适的字符,例如管道。好的,谢谢。还有一件事,是您建议的数组st?我想这正是我需要的。我没有涉及过分隔符管道,也没有见过类似String.split(“\\\\\”)的东西然而,在我的课程中,我担心教授可能在寻找更简单的方法。@scarywombat当然,如果你能返回一个列表,那就更好了,但是你不能,我建议使用一些非常标准和基本的Java语言,对于我能返回的内容没有任何要求,只是方法类型必须是String。如果我返回null outide for循环并返回内部的arraylist,这样行吗?@ScaryWombat
// 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;
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
public static List<String> getAboveAverageRunners(BanffMarathonRunner[] runners) {
int averageTime = BanffMarathonRunner.getAverageTime(runners);
return Arrays.stream(runners).filter(r -> r.getTime() < average)
.map(r -> r.getFirstName() + " " + r.getLastName() + ", Years Competing: " + r.getYears())
.collect(Collectors.toList());
}
public static List<String> getAboveAverageRunners(BanffMarathonRunner[] runners) {
int averageTime = BanffMarathonRunner.getAverageTime(runners);
return Arrays.stream(runners).filter(r -> r.getTime() < average)
.map(r -> r.getFirstName() + " " + r.getLastName() + ", Years Competing: " + r.getYears())
.collect(Collectors.joining(",", "\"", "\""));
}
public static List<Runner> getAboveAverageRunners(BanffMarathonRunner[] runners) {
int averageTime = BanffMarathonRunner.getAverageTime(runners);
return Arrays.stream(runners).filter(r -> r.getTime() < average)
.collect(Collectors.toList());
}