Java编译错误:“解析时到达文件结尾}”

5sxhfpxr  于 2023-01-19  发布在  Java
关注(0)|答案(4)|浏览(267)

我有下面的源代码

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 }

我做错什么了?任何帮助都很感激。

3bygqnnd

3bygqnnd1#

您必须使用{ ... }打开和关闭类,如下所示:

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 });
  }
}
e5nszbig

e5nszbig2#

你需要将你的类封装在{}中。根据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
       });
    }
}
avwztpqn

avwztpqn3#

当您没有正确关闭代码块时会发生这种情况:

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

正确方法:

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

yws3nbqq4#

是的。你在公共类行下面缺少了一个“{”。然后在你的代码的末尾缺少了一个“{”来关闭它。

相关问题