2017-11-15 17 views
-4

リンクリストのアクティビティを終了しようとしていますが、このコードの最後の中括弧の直後に「return statementがありません」というエラーメッセージが表示されています。これには何が問題なのですか?メソッドエラー - Javaのreturn文がありません

public boolean insertNode(DataElement insertItem) 
{ 
    LinkedListNode current; 
    LinkedListNode trailCurrent; 
    LinkedListNode newNode; 

    boolean found; 

    newNode = new LinkedListNode(); 
    newNode.info = insertItem.getCopy(); 

    newNode.link = null; 

    if(first == null) 
    { 
     first = newNode; 
     count++; 
    } 
    else 
    { 
     trailCurrent = first; 
     current = first; 
     found = false; 

     while(current !=null && !found) 
      if(current.info.compareTo(insertItem) >= 0) 
       found = true; 
      else 
      { 
       trailCurrent = current; 
       current = current.link; 
      } 
     if(current == first) 
     { 
      newNode.link = first; 
      first = newNode; 
      count++; 
     } 
     else 
     { 
      trailCurrent.link = newNode; 
      newNode.link = current; 
      count++; 
     } 
    } 
} 
+2

を使用している唯一のブール変数を返す必要があります 'パブリックブールinsertNode'あなたは'ます。public void insertNodeには何も変更を戻したいいけない場合は、ブール値を返す必要が言います'。ノードの追加が成功した場合に戻る場合は、ノードを挿入した後にtrueを返します。 – Skynet

答えて

0
public boolean insertNode 

ブール値を返します。あなたは何も返さず機能で何かをしたい場合は、単に

public void insertNode 

戻り値は、すべてのプログラミング言語でSUPER重要です交換してください。関数の正しい戻り値を常に入れるようにしてください(関数のプロトタイプで関数を前処理した場合)。あなたのケースでは

、あなたは
return found;

0
public boolean insertNode 

その宣言で3部:

public - このメソッドのアクセシビリティについて指示します。パブリックとは、どのクラスでもアクセスできることを意味します。

boolean - メソッドは呼び出し元にブール値を返す必要があります。返品したくない場合は、voidを使用することができます。

insertNode - メソッドの名前。

Soは方法は、以下のように構成されています。あなたはブール値を返すようにあなたの方法を尋ねるときに、あなたはそれを呼び出す

AccessControl: private, public, protected 
returnType: int, boolean, String, void, List etc etc -- Limited just by imagination. 
methodName - should be meaningful verb. 

Accesscontrol returnType methodName

は、以下の値を持つことができます次のようにしてください:

boolean insertSuccessful = insertNode(dataElement); 

今すぐinsertSuccessful wi挿入が成功したかどうかに応じて、真または偽の値が含まれます。

メソッドが無効だった場合、何も返されず、呼び出し元は値が返されることを期待しないため、insertSuccessful変数は返されません。