Java编译错误:"解析时到达文件末尾}"

ade*_*eo8 11 java compiler-errors

我有以下源代码

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
   });
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我收到以下错误:

java:11: reached end of file while parsing }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?任何帮助赞赏.

Big*_*hne 22

您必须使用以下方式打开和关闭课程{ ... }:

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 });
  }
}
Run Code Online (Sandbox Code Playgroud)


aio*_*obe 8

您需要括在你的类{和}.一些额外的指示:根据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
       });
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 6

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

if (condition){
  // your code goes here*
  { // This doesn't close the code block
Run Code Online (Sandbox Code Playgroud)

正确方法:

if (condition){
  // your code goes here
} // Close the code block
Run Code Online (Sandbox Code Playgroud)