2017-01-20 3 views
0

Aus irgendeinem Grund gibt Eclipse weiterhin einen ']' Fehler bei npcname_m [0] = "steve";Ich bekomme immer einen ']' erwarteten Fehler [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"; 

gesamten Code

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

Versuchen 'String [] npcname_m = new String [10] verwendet;' –

+0

Danke, aber es gibt mir immer noch den gleichen Fehler – SpeedProgrammer

+0

Wie man es verwendet hat, vielleicht das Hinzufügen von Daten Teil des Verfahrens. –

Antwort

4

Sie können Code nicht außerhalb einer Klassenmethode schreiben, mit Ausnahme der Variablendefinition in Java.

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

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

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

} 
+0

Sie können dies stattdessen tun: 'String [] npcname_m = {" Steve "," John "," Mark ", ...," Josh "," Alex "};' – walen

+1

@walen Ich weiß, aber die Antwort hier ist es, den Fehler zu lokalisieren, der den gleichen Code wiederverwendet. Besser mit kleinen Schritten lernen. –

+0

Für das Poster (OP), nur daran erinnern, dass, wenn eine Antwort Ihren Bedürfnissen entspricht, Sie es akzeptieren müssen. Meins oder wer antwortet jemals. –

-2

Verwenden String[] npcname_m=new String[10]; statt.

+4

Dieser _definitely_ führt zu einem Syntaxfehler. –

+0

Sie haben recht, ich habe vergessen, die zweite [] – DonTintoretto

+2

zu löschen Haben Sie meinen Kommentar oben gesehen? Es hat das Problem nicht behoben. –

Verwandte Themen