Bạn cần khởi tạo errorSoon , như được chỉ ra bởi thông báo lỗi, bạn chỉ khai báo nó.
String[] errorSoon; // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement
Bạn cần khởi tạo mảng để nó có thể phân bổ bộ nhớ chính xác cho các Stringphần tử trước khi bạn có thể bắt đầu thiết lập chỉ mục.
Nếu bạn chỉ khai báo mảng (như bạn đã làm) thì không có bộ nhớ được phân bổ cho các Stringphần tử, mà chỉ có một tham chiếu xử lý errorSoonvà sẽ đưa ra lỗi khi bạn cố gắng khởi tạo một biến ở bất kỳ chỉ mục nào.
Là một lưu ý phụ, bạn cũng có thể khởi tạo Stringmảng bên trong dấu ngoặc nhọn, { }như vậy,
String[] errorSoon = {"Hello", "World"};
tương đương với
String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";