編集: スレッドを更新して、いくつかの質問に答えました。これはプログラミングの課題です。私の解決策は機能しません。このスレッドのコメントに答えるには、最大の文字列をアルファベット順に見つける必要があります。たとえば、'Tom' は 'Andy' よりも大きいです。
単方向リストで最大値を見つける再帰メソッドを作成します。クラス LinkedList から継承し、再帰メソッドを追加します。リンクリストの各ノードにアクセスするには、反復子を使用する必要があります。再帰を開始するには、ヘルパー メソッドを追加する必要がある場合があります。ドライバー クラスを使用してリンク リストにデータを入力し、メソッドが機能することを示します。ドライバー クラスに追加のテストを追加します。提供されるドライバークラスで最大のものは Tom です。
提供されるドライバー クラス:
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));
}}
私の解決策(機能しません):まあ、nullpointer例外が発生します。
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;
}}
誰かが私が間違ったことを教えてもらえますか? ありがとうございました。