Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java编译错误:";解析时到达文件末尾}";_Java_Compiler Errors - Fatal编程技术网

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

Java编译错误:";解析时到达文件末尾}";,java,compiler-errors,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('#'), Blo

我有以下源代码

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

您需要将类封装在
{
}
中。一些额外的提示:根据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

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

您得到错误是因为缺少一对大括号。请仔细查看该类。“使用小写字母”-接下来祝你好运。:)另外,虽然我同意你的评估,OP正在尝试修改Minecraft,它倾向于将这种格式用于类名(不确定这是一个要求还是仅仅是它们的内部约定。哈,谢谢。更新。有趣的评论重新记录Minecraft。这与其他早期答案有什么不同?