web-dev-qa-db-fra.com

Java erreur de compilation: "fin de fichier atteinte lors de l'analyse}"

J'ai le code source suivant

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

Lorsque j'essaye de le compiler, j'obtiens l'erreur suivante:

Java:11: reached end of file while parsing }

Qu'est-ce que je fais mal? Toute aide appréciée.

11
adeo8

Vous devez ouvrir et fermer votre classe avec { ... } comme:

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

Vous devez inclure votre classe dans { et }. Quelques pointeurs supplémentaires: selon les conventions de codage Java, vous devez

  • Mettre votre { sur la même ligne que la déclaration de méthode:
  • Nommez vos classes à l'aide de CamelCase (avec une majuscule initiale)
  • Nommez vos méthodes en utilisant camelCase (avec une petite lettre initiale)

Voici comment je l'écrirais:

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

Cela se produit lorsque vous ne fermez pas correctement le bloc de code:

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

Façon correcte:

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

Oui. Vous manquiez un "{" sous la ligne de classe publique. Et puis un à la fin de votre code pour le fermer.

3
Techno Savage