Métodos de declaração de um Vetor String

4 respostas
ZombieW

Olá a todos!!

Tenho um dúvida meio básica…

Métodos de declaração de um vetor String…

Posso declarar assim:

String[] vet1 = new String[10];

Onde o vetor tem 10 posições de 0 a 9;

Ou assim:

String[] vet2 = {"01","02","03"};

Onde o vetor tem 3 posições com os valores já definidos;

Agora vem minha dúvida, declarando um vetor desse modo:

String[] vetIniciarSubmarino;

(onde o compilador não acusa erro)

Como fazer que ele receba por exemplo 5 valores?

Pois na linha de baixo escrevendo assim:

vetIniciarSubmarino[] = {"B2","C9","F5","I3","J10"};

É acusado este erro:

[i]’;’ expected

not a statement

‘;’ expected

not a statement

cannot find symbol
symbol : class vetIniciarSubmarino
location: class BS.TratadorIniciar[/i]

Onde eu errei ao declarar esse vetor?

Preciso declarar esse vetor na parte superior, pois, dentro de um case, a cada situação, esse vetor recebe valores diferentes.

4 Respostas

B
vetIniciarSubmarino = new String[]{"B2","C9","F5","I3","J10"};

Isso provavelmente será simplificado no Java 7 para:

vetIniciarSubmarino = {"B2","C9","F5","I3","J10"};
ZombieW

Ok, obrigado pela resposta, mas ainda não soluciona meu problema.

Preciso definir o vetor antes do Switch, como fiz por exemplo o vetor vetIniciarSubmarino e depois receber os valores impostos por mim dentro do case.
Quero fazer isso para não ficar redundante a declaração dos vetores dentro de cada case, sendo que serão 10 ao todo.

public void posicionaBarcosCPU(){ //int numRandomCPU = (int)(Math.random()*10); int numRandomCPU = 0; int[] vetNum1Barco = new int[6]; int[] vetNum2Barco = new int[6]; String[] vetIniciarSubmarino; switch(numRandomCPU){ case 0:{ vetIniciarSubmarino[] = {"B2","C9","F5","I3","J10"}; break; } case 1:{ break; ........ }

B

Faça a modificação sugerida abaixo, deve compilar.

public void posicionaBarcosCPU(){  
         //int numRandomCPU = (int)(Math.random()*10);  
         int numRandomCPU = 0;  
         int[] vetNum1Barco = new int[6];  
         int[] vetNum2Barco = new int[6];  
         String[] vetIniciarSubmarino;  
         switch(numRandomCPU){  
             case 0:{  
                 vetIniciarSubmarino = new String[] {"B2","C9","F5","I3","J10"};  
                 break;  
             }  
             case 1:{  
                 break;  
             ........  
             }
ZombieW

Obrigado, já funcionou…

Sabia que a dúvida era básica…
:smiley:

Criado 8 de setembro de 2010
Ultima resposta 8 de set. de 2010
Respostas 4
Participantes 2