2015-01-20 2 views
-5

Я пытаюсь установить строку [] объекта e1, но я продолжаю получать ошибку illegal start of expression. Я новичок в Java, и я абсолютно не знаю, что не так. Любая помощь приветствуется.Как исправить незаконный запуск выражения в Java?

public class Employeetest { 

    public static void main(String[] args) { 

     Employee e1 = new Employee(); 
     e1.person ={"","","","",""}; 

     e1.printInfo(); 
    } 
} 


public class Employee { 

    String[] person ={"","","","",""}; 

    public void printInfo() { 
     System.out.println("Name:" + person[0]); 
     System.out.println("Gender:" + person[1]); 
     System.out.println("Job Title:" + person[2]); 
     System.out.println("Organization:" + person[3]); 
     System.out.println("Birthday:" + person[4]); 
    } 
} 
+0

Добро пожаловать в переполнение стека! Какие конкретные ошибки вы получаете? Как вы думаете, что они означают? Что вы сделали до сих пор, чтобы попытаться это исправить? Чем больше деталей вы предоставляете, тем лучше мы сможем помочь. – templatetypedef

+0

Возможный дубликат [Объявить массив в Java?] (Http://stackoverflow.com/questions/1200621/declare-array-in-java) –

ответ

3

При инициализации массива строк, вы не должны предоставлять new String[], при условии, что вы инициализирован массив в декларации, например,

String[] person ={"","","","",""}; 

В любом другом месте вы измените значение, вы должны предоставить new String[] так:

e1.person = new String[] {"","","","",""}; 

Однако здесь, вам не нужно повторно инициализировать person массив. Когда вы создали объект Employee, person был инициализирован, как вы его объявили. Вы можете удалить эту строку:

e1.person ={"","","","",""}; 

и он будет работать так же. Но он не будет делать ничего, кроме печати пустых полей, если вы не инициализируете элементы массива чем-то, кроме "".

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