2016-07-25 9 views
-1

こんにちは私のMinecraftサーバのプラグインを作っていますが、今は問題があります。 私は多くのフォーラムで検索しましたが、今はここでは役に立たなかった。 私はEclipseを使用しています。それそれは、関連するすべてのコードですが、あなたはそれらのif後の最終的なreturnの文が欠落していることが考えられJAVA:構文エラー文を挿入してelse文を挿入してif文を完成させよう

 if(commandName.equals("t")){ 

     } 
      if(!player.hasPermission("Clans.teamchat")) { 
       player.sendMessage(ChatColor.RED + "You do not have permission to use this command."); 
       return true; 
      } 
      if(!tPlayer.hasTeam()) { 
       player.sendMessage(ChatColor.RED + "You are not on a team."); 
       return true; 
      } 
      else if(!getRank(PlayerName).canTeamChat()) { 
       player.sendMessage(ChatColor.RED + "You lack sufficient permissions to talk in team chat."); 
       return true; 
      } 
      else if (args.length < 1) { 
       player.sendMessage(ChatColor.RED + "You did not enter a message to send."); 
       return true; 
      } 
      else if (args[0].equalsIgnoreCase("@loc")) { 
      return true; 
      } 
+1

使用するIDEは関係ありません。なぜこれが冗長であるのか分かりますか?if(commandName.equals( "t")){ }?あなたはその最後の後にreturn文を追加しましたか?可能であればすべての場合の返品はありません – Stultuske

+1

何が助けが必要な構文エラーですか? – smarx

答えて

1

わかりません。理由は、今のコードでは、条件に一致しないケースを処理していないが、依然としてメソッドの戻り値を提供する必要があるからです。

+0

この場合、エラーは 'return statement'がありませんが、上記のエラーはまったく異なります。 –

0

ここでもっと勤勉にする必要があります。書式設定と中括弧で始まります。あなたは本当にif、even stuffの後のそれぞれのブロックを望んでいます。

if (something) { 
    just one thing 
} else { 
    just another thing 
} 

は{と}の中にブロックとして入ります。そして、あなたが作成している "コンテンツ"を簡単に把握できるように、規範的な方法でコードをフォーマットします。

言い換えれば、問題は単純に構文ルールに違反していることです。それを避ける最も簡単な方法は、構造体を手に入れるソースコードを書くことです。

最終的なreturn文が見つからないか、2つのelsesを後で置きます。同じルールと書式設定を使用してコードを書き留めるだけであれば、明らかになります。

他のことはもちろんです:このような長い/他のチェーンは、常に適切なオブジェクト指向設計を行うことによって避けたいものです。決定を下すためにオブジェクトのプロパティを要求しません。その代わりに、異なる実装になっているインターフェースを使用します。だから後で、それらのメソッドを呼び出すだけです(詳細はhereを参照してください)。

関連する問題