创建一个名为findMax的函数。它接受一个称为数字的参数 代表一组数字。 在您的函数中,找到数组中的最大数字。 返回结果。
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class main {
public static void main(String[] args) throws IOException{
try(Reader reader = new InputStreamReader(main.class.getResourceAsStream(
"/Users/edwardk/IdeaProjects/practice_json/small_incidents.json"),"UTF-8")){
Gson gson = new GsonBuilder().create();
Person p = gson.fromJson(reader, Person.class);
System.out.println(p);
}
}
}
我收到的错误消息是
你回来了'4'。这不太对。最大值为5。
答案 0 :(得分:0)
您在屏幕截图中发布的代码似乎与问题规范相矛盾:规范要求您返回元素,但您的实现会返回索引。如果你确实想要找到最大元素,那么这就是一个有趣的单行:
function findMax(numbers){
return numbers.reduce((max, n)=> n > max ? n : max);
}
如果您要查找max元素的索引,可以重复使用上述函数:
function findMaxIndex(numbers){
return numbers.indexOf(findMax(numbers));
}
答案 1 :(得分:0)
这样做的一种简单方法是每次 for Loop 找到更大的数字时不断更改maxNumber,如下所示:
num = [5, 3, 2, 7, 9, 10, 200];
findMax(num);
function findMax(numbers) {
maxNumber = number[0];
for (i = 0; i < numbers.length; i++) {
if (numbers[i] > maxNumber) {
maxNumber = numbers[i]
}
}
return maxNumber;
}
这将返回 200 并且应该可以正常工作:)