web-dev-qa-db-ja.com

Javaコンパイルエラー: "解析中にファイルの終わりに達しました}"

私は次のソースコードを持っています

public class mod_MyMod extends BaseMod
public String Version()
{
     return "1.2_02";
}
public void AddRecipes(CraftingManager recipes)
{
   recipes.addRecipe(new ItemStack(Item.diamond), new Object[] {
      "#", Character.valueOf('#'), Block.dirt
   });
}

コンパイルしようとすると、次のエラーが表示されます。

Java:11: reached end of file while parsing }

私は何を間違えていますか?任意の助けに感謝します。

11
adeo8

次のような{ ... }を使用してクラスを開閉する必要があります。

public class mod_MyMod extends BaseMod
{
  public String Version()
  {
    return "1.2_02";
  }

  public void AddRecipes(CraftingManager recipes)
  {
     recipes.addRecipe(new ItemStack(Item.diamond), new Object[] {
        "#", Character.valueOf('#'), Block.dirt });
  }
}
22
Bigbohne

クラスを{および}で囲む必要があります。いくつかの追加のポインター:Javaコーディング規約によると、

  • {をメソッド宣言と同じ行に配置します。
  • CamelCaseを使用してクラスに名前を付けます(最初の大文字を使用)
  • CamelCaseを使用してメソッドに名前を付けます(頭文字は小さい)

ここに私がそれを書く方法があります:

public class ModMyMod extends BaseMod {

    public String version() {
         return "1.2_02";
    }

    public void addRecipes(CraftingManager recipes) {
       recipes.addRecipe(new ItemStack(Item.diamond), new Object[] {
          "#", Character.valueOf('#'), Block.dirt
       });
    }
}
8
aioobe

コードブロックを適切に閉じないと発生します。

if (condition){
  // your code goes here*
  { // This doesn't close the code block

正しい方法:

if (condition){
  // your code goes here
} // Close the code block
6
ntthushara

はい。パブリッククラスの行の下に「{」がありませんでした。そして、コードの最後にあるコードを閉じます。

3
Techno Savage