編輯:我更新了線程以回答您的一些問題。這是一個編程任務。我的解決方案不起作用: 要回答關於此主題的評論,應該按字母順序查找最大的字符串。例如「湯姆」比「安迪」大。Java - 返回鏈表中的最大字符串
編寫一個遞歸方法來查找單向鏈表中的最大值。繼承LinkedList類並添加遞歸方法。您將需要使用迭代器來訪問鏈表的每個節點。您可能需要添加一個輔助方法來啓動遞歸。使用驅動程序類填充鏈接列表並證明您的方法有效。向驅動程序類添加額外的測試。 提供的駕駛員級別中最大的是湯姆。
提供的驅動程序類:
public class MyLinkedListDriver {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyLinkedList myLinkedList = new MyLinkedList();
myLinkedList.add("Sarah");
myLinkedList.add("Barbara");
myLinkedList.add("Tom");
myLinkedList.add("George");
String largest = myLinkedList.findLargest();
System.out.println(largest);
System.out.println(myLinkedList.get(0));
}}
我的解決方案(不工作):嗯,我得到空指針異常。
import java.util.Iterator;
import java.util.LinkedList;
public class MyLinkedList extends LinkedList<String> {
Iterator<String> it = super.iterator();
String largest=it.next();
public String findLargest(){
if (it.hasNext()==false){
return largest;
}
else{
String temp = it.next();
int x=largest.compareTo(temp);
if(x>0){
largest=temp;
}
findLargest();
}
return largest;
}}
有人能告訴我我做錯了什麼嗎?謝謝。
「最大」定義在哪裏? – 2013-03-03 22:06:51
請儘量讓您的問題儘可能具體。 「不起作用」不是問題。 – jrajav 2013-03-03 22:06:53
你是什麼意思最大 - 有最大長度? – 2013-03-03 22:07:09