2016-08-22 3 views
0

Я только начал кодирование, и теперь я следую учебнику. Я выполнил точные шаги в учебнике и изменил любую переменную на то, что я использовал. "Пример: PutNAMEHERE к Myname"три ошибки синтаксиса в eclipse

Это учебник: http://bedrockminer.jimdo.com/modding-tutorials/basic-modding-1-7/proxies/

Я получил три ошибки синтаксиса, хотя.

Это кусок кода, который дает ошибку:

@EventHandler 
public void postInit(FMLPostInitializationEvent e) { 
proxy.postInit (e); 
} 

Ошибки:

*Multiple markers at this line 
- Syntax error on token(s), misplaced construct(s) 
- Syntax error, insert "enum Identifier" to complete 
EnumHeader 
- Syntax error on token "void", @ expected 

Я сделал некоторые исследования, прежде чем отправлять на этот вопрос. Я думал, что может быть общее исправление для этих ошибок, но для большинства людей это кажется другим.

EDIT:

здесь весь код:

package com.loenabelle.ZAWAM; 

import net.minecraftforge.fml.common.Mod; 
import net.minecraftforge.fml.common.Mod.EventHandler; 
import net.minecraftforge.fml.common.Mod.Instance; 
import net.minecraftforge.fml.common.SidedProxy; 
import net.minecraftforge.fml.common.event.FMLInitializationEvent; 
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; 
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; 

@Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION) 
public class Main { 

    public static final String MODID = "ZAWAM"; 
    public static final String MODNAME = "TZAWAM"; 
    public static final String VERSION = "1.0.0"; 

    @Instance 
    public static Main instance = new Main(); 


    @EventHandler 
    public void preInit1(FMLPreInitializationEvent e) { 

    } 

    @EventHandler 
    public void init1(FMLInitializationEvent e) { 

    } 

    @EventHandler 
    public void postInit(FMLPostInitializationEvent e) { 
     //added a 1 to all but one init//   
    } 
} 

@SidedProxy(clientSide="com.loenabelle.ZAWAM.ClientProxy", serverSide="com.loenabelle.ZAWAM.ServerProxy") 
public static CommonProxy proxy; 

@EventHandler 
public void preInit(FMLPreInitializationEvent e) { 
    proxy.preInit(e); 
} 

@EventHandler 
public void init(FMLInitializationEvent e) { 
    proxy.init(e); 
} 

@EventHandler 
public void postInit(FMLPostInitializationEvent e) { 
    proxy.postInit (e); 
    //continue and try to fix this later 
} 
+0

показать нам полный класс –

+0

Возможно, в коде может быть ошибка. –

+0

Да, методы java должны быть в классе, а не летать, возможно дублировать: http://stackoverflow.com/search?q=Syntax+error%2C+insert+%22enum+Identifier%22+to+complete+ –

ответ

0

Ошибка в коде выше является закрытия скобка, что происходит перед "@SidedProxy". До этого момента все находится внутри класса Main. Эта фигурная скобка заканчивает класс. Код после того, как эта закрывающая скобка не находится в каком-либо классе вообще, что является незаконным для объявлений методов и тому подобного. Почти все в Java должно быть внутри класса.

Eclipse выполняет основные согласованные фигурные скобки - если вы поместите курсор на открывающую скобку класса (Main {), тогда Eclipse выделит фигуру, которая заканчивает класс. (Это относится ко всем наборам согласованных фигурных скобок.)

Смежные вопросы