Using data from an array of one class in another

Asked

Viewed 89 times

0

How can I use the array palavra_vetor in another class.

public class Lista{
   String palavras_leitura [] = new String[50];
   String palavra_vetor[] = new String [4];
   String palavra;

public void ler_lista(){   
    String caminho_arquivo = "C:\\Users\\" + 
    System.getProperty("user.name").toString() + "\\Desktop\\" + "palavras.txt";

    try {
        FileReader leitura_arquivo = new FileReader(caminho_arquivo);

        BufferedReader leitor_arquivo = new BufferedReader(leitura_arquivo);

        String linha = leitor_arquivo.readLine();
        int i = 0;
        while(linha != null) {

            palavras_leitura [i] = linha;

            linha = leitor_arquivo.readLine();
            i = i + 1;
        }

        Random Rand = new Random();
        for(int d = 0; d<4 ; d++) {

         palavra = palavras_leitura[Rand.nextInt(i)];
         palavra_vetor[d] = palavra;  ###Esse aqui###
         set_palavra_vetor(d,palavra);

        }

        separador_palavras(palavra_vetor);
        leitor_arquivo.close();
    }
    catch(IOException e){System.out.println(e.getMessage());} 
}

char palavra_separada[][]=new char[4][20];

public  void separador_palavras(String palavra_vetor[]){  

    int quantidade_char = 0;

    for(int c = 0; c < 4; c++){  

        for(int j = 0; j < palavra_vetor[c].length(); j++){
            System.out.print(c);
            System.out.print(palavra_vetor[c].charAt(j));
            palavra_separada[c][j] = palavra_vetor[c].charAt(j);
        }    

    }
    Interface_lista inter = new Interface_lista();
    inter.tabuleiro();
}

I tried to make a getter but it just returned null

public String get_palavra_vetor(int index){
    return palavra_vetor[index];
}
  • But the way it’s there, this one get_palavra_vetor will only return something after you have called the function ler_lista at least once. You’re doing this?

  • yes,I’m calling the get after running the ler_list function

  • You’re buying the exception. There may be some reading error that is letting the method end normally but the vector is not being filled. Already debugged to see if it is being filled in correctly by the method?

  • yes, in the separator method_words I clean it and it prints correctly the words of the vector.

1 answer

0

I don’t understand.. in its class there is no return function of the array type of the verb variable.

try like this:

public String[] ler_lista() {   
        ...

        try
        {
            FileReader leitura_arquivo = new FileReader(caminho_arquivo);

            BufferedReader leitor_arquivo = new BufferedReader(leitura_arquivo);

            String linha = leitor_arquivo.readLine();
            int i = 0;
            while(linha != null)
            {
                palavras_leitura [i] = linha;

                linha = leitor_arquivo.readLine();
                i = i + 1;

            }
            Random Rand = new Random();
            for(int d = 0; d<4 ; d++)
            {
             palavra = palavras_leitura[Rand.nextInt(i)];
             palavra_vetor[d] = palavra;  //###Esse aqui###

             set_palavra_vetor(d,palavra);
            }
            separador_palavras(palavra_vetor);
            leitor_arquivo.close();
        }
        catch(IOException e){
            System.out.println(e.getMessage());
        } 
        return palavra_vetor;
    }

Browser other questions tagged

You are not signed in. Login or sign up in order to post.