我是用java编程的新手。下面的源代码可以在书中找到,当我尝试执行它显示一些不正确的数据的程序时。Java - 查找字符串数组的最小值和最大值
public class Pair {
private T first;
private T second;
public Pair() {
first = null;
second = null;
}
public Pair(T first, T second) {
this.first = first;
this.second = second;
}
public T getFirst() {
return first;
}
public T getSecond() {
return second;
}
public void setFirst(T newValue) {
first = newValue;
}
public void setSecond(T newValue) {
second = newValue;
}
}
逻辑找到字符串数组
public class ArrayAlg {
public static Pair minmax(String[] arr) {
if (arr == null || arr.length == 0)
return null;
String min = arr[0];
String max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (min.compareTo(arr[i]) > 0)
min = arr[i];
if (max.compareTo(arr[i]) < 0)
max = arr[i];
}
return new Pair(min, max);
}
}
public static void main(String[] args) {
String[] words = { "Mary", "had", "a", "little", "lamb" };
Pair obj = ArrayAlg.minmax(words);
System.out.println("Minvalue " + obj.getFirst());
System.out.println("Maxvalue " + obj.getSecond());
}
如果执行上述程序,它显示Minvalue = Mary and MaxValue = little的min和max值。字符串数组中的值a是最小值,但在这种情况下,它将Mary显示为最小值。
任何人都可以告诉我更好的方法来查找字符串数组中的最小值和最大值吗?
2016-06-30
Aishu