2017-01-20 5 views
0

По какой-то причине eclipse продолжает давать мне ошибку ']' на npcname_m [0] = "steve";Я продолжаю получать ожидаемую ошибку [Java]

String npcname_m[]=new String[10]; 
    npcname_m[0]="Steve"; 
    npcname_m[1]="John"; 
    npcname_m[2]="Mark"; 
    npcname_m[3]="Andrew"; 
    npcname_m[4]="Matthew"; 
    npcname_m[5]="Luke"; 
    npcname_m[6]="Miguel"; 
    npcname_m[7]="Michael"; 
    npcname_m[8]="Josh"; 
    npcname_m[9]="Alex"; 

Весь код

public class npc 
{ 
    //NPC Types; Speci 
    public enum npctype{villager, mob, special, hostile, passive, placeholder} 
    npctype npc_type =npctype.placeholder; 
    String npcname_m[]=new String[10]; 
    npcname_m[0]="Steve"; 
    npcname_m[1]="John"; 
    npcname_m[2]="Mark"; 
    npcname_m[3]="Andrew"; 
    npcname_m[4]="Matthew"; 
    npcname_m[5]="Luke"; 
    npcname_m[6]="Miguel"; 
    npcname_m[7]="Michael"; 
    npcname_m[8]="Josh"; 
    npcname_m[9]="Alex"; 

    String[] npcname_f = new String[10]; 
    npcname_f[0]="Mariah"; 
    npcname_f[1]="Joyce"; 
    npcname_f[2]="Kaede Akamatsu"; 
    npcname_f[3]="Iruma Miu"; 
    npcname_f[4]="Maki"; 
    npcname_f[5]="Hannah"; 
    npcname_f[6]="Angie"; 
    npcname_f[7]="Grace"; 
    npcname_f[8]="Melissa"; 
    npcname_f[9]="Alex"; 

    public enum npcclass{weak, strong, rare} 
    String name = "Placeholder to avoid problems with garbage collector"; 
    int healthpoints =100; 
    int moneyreward =100; 
    int attackpower=100; 
    Boolean male = true; 

    //code to attack player if player starts dsplaying aggressive behaviour torward friendly NPC's 
    //Placeholder code 
    public void AttackHostilePlayer(){ 
    return; 
    } 

    public void TransformHostileVillager(){ 
     healthpoints= healthpoints + 50; 
     attackpower=attackpower + 50; 
     System.out.println(npc_type); 
     return; 
    } 

    //Generates an npc (Add randomisation later) 
    public void generatenpc(){ 
     male = true; 
     name= "Steve"; 
     npc_type=npctype.villager; 
     return; 
    } 
} 
+0

Попробуйте использовать 'String [] npcname_m = новый String [10];' –

+0

Спасибо, но она по-прежнему дает мне ту же ошибку – SpeedProgrammer

+0

Как вы используете его, может быть, добавив часть данных из метода. –

ответ

4

Вы не можете написать код вне метода класса, за исключением определения переменной в Java.

public class npc 
{ 
    String[] npcname_m = new String[10]; 

    // INVALID CODE ! npcname_m[0]="Steve"; 

    public npc() { 
     npcname_m[0]="Steve"; 
    } 

} 
+0

Они могут сделать это вместо этого: 'String [] npcname_m = {« Steve »,« John »,« Mark », ...,« Josh »,« Alex »};' – walen

+1

@walen Я знаю, но ответ здесь заключается в том, чтобы указывать на ошибку повторное использование одного и того же кода. Лучше учиться с небольшими шагами. –

+0

Для плаката (OP), просто помните, что если ответ соответствует вашим потребностям, вы его принимаете. Мой или кто когда-либо отвечает. –

-2

Используйте String[] npcname_m=new String[10]; вместо этого.

+4

Это _definitely_ приведет к синтаксической ошибке. –

+0

Вы правы, я забыл удалить второй [] – DonTintoretto

+2

Вы видели мой комментарий выше? Это не устранило проблему. –

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