作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解决有关使用循环找出数组中最低值的练习。练习是关于泛型的。但我很难找到解决方案。对于字符串数组,我将使用“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/
我是一名优秀的程序员,十分优秀!