Java Compile-fout: “Bereed einde van het bestand tijdens het parseren}”

Ik heb de volgende broncode

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

Als ik probeer het te compileren, krijg ik de volgende foutmelding:

java:11: reached end of file while parsing }

Wat doe ik verkeerd? Elke hulp gewaardeerd.


Antwoord 1, Autoriteit 100%

U moet uw klasse openen en sluiten met { ... }zoals:

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

Antwoord 2, Autoriteit 32%

U moet uw klasse bijvoegen in {en }. Een paar extra aanwijzingen: volgens de Java-coderingsconventies, moet u

  • Zet uw {op dezelfde lijn als de methodeaangifte:
  • Noem uw klassen met CamelCase (met initiële hoofdletter)
  • Noem uw methoden met behulp van CamelCase (met kleine eerste letter)

Hier is hoe ik het zou schrijven:

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

Antwoord 3, Autoriteit 21%

Het gebeurt wanneer u het codeblok niet goed sluit:

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

juiste manier:

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

Antwoord 4, Autoriteit 11%

Ja. Je miste een ‘{‘ onder de publieke klasse. En dan een aan het einde van uw code om het te sluiten.

Other episodes