Array de String

Preciso passar um array de String para outro método, mas não consigo.

String[] s = new String[14];
      for(int i = 0; i < 14; i++)
         s[i] = jogo[i];    
      database.salvarJogo(s);

Na classe Database:

public void salvarJogo(String[] jogo) {

   String[] j = new String[14]; 
      for(int i = 0; i < 14; i++)
         j[i] = new String(jogo[i]);

Por que nao funciona?

[quote=“NewbieJava”]Preciso passar um array de String para outro método, mas não consigo.

String[] s = new String[14];
      for(int i = 0; i < 14; i++)
         s[i] = jogo[i];    
      database.salvarJogo(s);

Na classe Database:

public void salvarJogo(String[] jogo) {

   String[] j = new String[14]; 
      for(int i = 0; i < 14; i++)
         j[i] = new String(jogo[i]);

Por que nao funciona?[/quote]

A linha
s[i] = jogo[i];

só faz sentido se jogo tb for um array se String. supondo que isso é verdade faça apenas database.salvarJogo(jogo);

E sendo que no metodo salvarJogo , jogo já é um array de string, não precisa criar cópias. portanto aquele j e aquele for são inúteis. use jogo diretamente

Outro problema é o numero 14. Pq 14 ? o for deveria ir no máximo até o jogo.length ou menos. Como vc sabe que 14 é menor que esse numero?

sem saber pq não funciona, qual é o erro que acontece ou qual é o pro´posito do codigo não ha muito mais que eu possa dizer…

notas:
Use plurais para representar arrays; use jogos em vez de jogo. O mesmo é válido para os métodos. Se o parametro é array o nome deve ser no plural ; salvarJogos em vez de salvarJogo . o singular espera-se que save apenas um.
use nomes de variáveis de acordo com o seu tipo . jogos[] deveria ser um array de objectos Jogo , mas não é. Então chame outro nome como nomesDeJogos[] ou idsDeJogos[] (não sei o que vem naquela string). Um nome é natural ser um string.
não use numeros mágicos , ou seja, numeros como aquele 14 que ninguem sabe o que significa. use constantes com nomes
(por exemplo final int LIMITE_DE_JOGOS = 14;)
Estas medidas tornam o código mais legível e código mais legível é código com menos erros.

Por fim, se tiver mesmo que copiar arrays, use System.copyArray em vez de um for com criação de duplicados. é mais eficiente e simples de usar.

Obrigado pelas dicas.

Vou tentar corrigir esses hábitos ruins de programação.

Valeu!