Você precisa inicializar errorSoon
, conforme indicado pela mensagem de erro, apenas a declarou .
String[] errorSoon; // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement
Você precisa inicializar a matriz para que ela possa alocar o armazenamento de memória correto para os String
elementos antes de começar a definir o índice.
Se você declarar apenas a matriz (como fez), não há memória alocada para os String
elementos, mas apenas um identificador de referência paraerrorSoon
e lançará um erro ao tentar inicializar uma variável em qualquer índice.
Como uma observação lateral, você também pode inicializar a String
matriz dentro de chaves, { }
assim,
String[] errorSoon = {"Hello", "World"};
que é equivalente a
String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";