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 } 

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

您必须使用{ ... }打开和关闭课程,例如:

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

您需要将您的class级括在{} 。 一些额外的指针:根据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 }); } } 

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

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

正确的方式:

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

是。 你错过了公共课程线下的'{‘。 然后在代码末尾添加一个关闭它。