gpt4 book ai didi

java - 如何用通用方法找出最小值?

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

我正在尝试解决有关使用循环找出数组中最低值的练习。练习是关于泛型的。但我很难找到解决方案。对于字符串数组,我将使用“if (minimum.compareTo(list[i]) > 0) ”。我陷入了如何使用整数数组执行此操作的困境。非常感谢任何提示或帮助。

这是我的代码:

 public class Excercise {

public static void main(String[] args) {
//Create an array
Integer[] intArray = { new Integer(45), new Integer(2), new Integer(6), new Integer(15) };
//print the lowest value
System.out.print(min(intArray));
// min(intArray);
}

public static <E extends Comparable<E>> E min(E[] list) {
E minValue = list[0];
for(int i = 1; i < list.length; i++) {
if(minValue.compareTo(list[i]) { <-- i get an error her
minValue = list[i];


return minValue;
}
}

最佳答案

compareTo 不会返回 boolean,因此您不能将其用作 if 子句的条件。

参见http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html#compareTo%28T%29

相反,它返回 int。如果结果大于零,则意味着第一项更大。如果低于,则较小。

因此请使用 if(minValue.compareTo(list[i])>0)) 代替。

代码中还有其他错误(主要是拼写错误)。我会把这些留给你。

关于java - 如何用通用方法找出最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22096824/

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