2016-05-16 25 views
-2

このコードに問題があります。「到達不能コード」と表示されています。
それはEclipseエディタの到達不能コード

EntityLivingBase entity = (EntityLivingBase) theObject; 

が到達不能コードであることを述べています。 continue

@Override 
public void onRender() { 

    if (!this.isToggled()) 
     return; 

    for(Object theObject : mc.theWorld.loadedEntityList) { 
     if(!(theObject instanceof EntityLivingBase)) { 
      continue; 

      EntityLivingBase entity = (EntityLivingBase) theObject; 

      if(entity instanceof EntityPlayer) { 
       if(entity != mc.thePlayer) 
        player(entity); 
       continue; 
      } 

      if (entity instanceof EntityMob) { 
       mob(entity); 
       continue; 
      } 

      if (entity instanceof EntityAnimal) { 
       animal(entity); 
       continue; 
      } 

      passive(entity); 
     } 
    } 
super.onRender(); 
} 
+0

これらのcontinue文はすべて削除できますが、最初のif文でロジックが間違っていると思われます。 '!(theObject instanceof EntityLivingBase)'は 'theObject instanceof EntityLivingBase'でなければなりません。それを 'theObject'と呼んではいけません。それよりもっと意味のあるものを呼んでください:) – ManoDestra

+0

ありがとう、これは私のために働いた! これで動作します。 〜私はJavaスクリプトではあまり詳しくはわかりませんが、まだ学習しています。 ありがとうございました! – LiamYS

+0

@LiamYS [タグ:java]と[タグ:javascript]の違いを学んでください(類似の名前とalgolのような構文は別として、**非常に**違いがあります)。 –

答えて

0

あなたはその時点で反復を終了している:
はここに私のコードです。残りのコードは決して処理されないため、到達できません。

+0

したがって、私は継続を削除する必要があります。 ? – LiamYS

0

キーワードcontinueは、Javaがコードの残りの部分をスキップしてから、forループの次の要素を再実行します。あなたのコードがしていることは、forループの残りのコードが実行される前に、次の繰り返しに飛びます。私はあなたがなぜそれをそこに置いたか、おそらくその使用の誤解を本当に知らないのですか?

0

他の人が言ったことは正しいです。 continueは常にコードの残りの部分をスキップします。これは決して到達できないので役に立たないため、到達できない文のエラーが発生します。

は、私は、これは誤植であると思うし、私はそれを正しく理解していれば、コードは次のようになります。あなたがifブロックを閉じた後、コードの

if(!(theObject instanceof EntityLivingBase)) { 
     continue; 
} // This is missing. 

残りはする必要があります。

関連する問題