Duvida: Não consigo retornar os valores armazenados no Array

Pessoal peço ajuda pois não consigo fazer com que os valores armazenados no Array sejam retornados.

[code]import javax.swing.JOptionPane;

/**
*

  • @author yracler
    */
    public class Ex1 {

    private static String[] listaLivros;
    private static String[] listaAutores;
    private static Livro[] meusLivros;
    private static String menu = “Gerenciador de Livros\n\n”
    + “1 --> Cadastrar um autor\n”
    + “2–> Cadastrar um livro\n”
    + “3 --> Incluir um autor já cadastrado num livro também cadastrado\n”
    + “4 --> Consultar todos os livros de um determinado autor\n”
    + “5 --> Listar todos os autores\n”
    + “6 --> Listar todos os livros\n”
    + “7 --> Sair”;

    public static void main(String[] args) {

     // escolha do usuario
     String opcao = "";
     do {
         opcao = JOptionPane.showInputDialog(menu);
         if (opcao.equals("1")) {
    

//incluir autor
cadastrarAutor();

        } else if (opcao.equals("2")) {

//incluir livro
cadastrarLivro();

        } else if (opcao.equals("3")) {

// incluir autor no livro
incluirAutorext();

        } else if (opcao.equals("4")) {

// consultar livros por autor
consultarLivrosAutores();

        } else if (opcao.equals("5")) {

// listar autores
listarAutores();

        } else if (opcao.equals("6")) {

// listar livros
listarLivros();
}
} while (!opcao.equals(“7”)); // comparacao usando String
} // fim do main

public static void cadastrarLivro() {

// inicializacao do objeto Livro
Livro meuLivro = new Livro();

// utiliza o metodo showInputDialog para perguntar a quantidade e
// converte o valor de String para inteiro e armazena na variavel
// local quantidade.
int quantidade = Integer.parseInt(JOptionPane
.showInputDialog(“Quantos Livros deseja Cadastrar?”));

    listaLivros = new  String [quantidade];

// inicializa o ARRAY com tamanho informado pelo usuario

// percorre todo tamanho do ARRAY e cadastra seus elementos

    for (int i = 0; i < listaLivros.length; i++) {
       
        JOptionPane.showMessageDialog(null, "Digite os dados do " + (i + 1) + "º Livro a ser inserido ");

        String titulo = JOptionPane.showInputDialog("Digite o titulo do" + (i + 1) + "º  Livro ");
        meuLivro.setTitulo(titulo);
        String isbn = JOptionPane.showInputDialog("Digite o código ISBN do" + (i + 1) + "º Livro");
        meuLivro.setIsbn(isbn);
        String editora = JOptionPane.showInputDialog("Digite a editora do" + (i + 1) + "º Livro");
        meuLivro.setEditora(editora);
        int paginas = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de páginas do" + (i + 1) + "º Livro "));
        meuLivro.setPaginas(paginas);   
        
        

        JOptionPane.showMessageDialog(null, "Livro inserido com sucesso");
        
    }

}

private static void listarLivros( ) {

    if (listaLivros != null) {

// acumula a listagem numa variavel local
String listaLivrosTemp = “Listagem de Livros \n \n”;

for (int i = 0; i < listaLivros.length; i++) {
listaLivrosTemp += listaLivros[i];

// exibe na tela a listagem dos Livros

            JOptionPane.showMessageDialog(null, "O " + (i + 1) + "º Livro é: " + listaLivros[i].getTitulo()
                    + "\nCódigo ISBN: " + meusLivros[i].getIsbn()
                    + "\nQuantidade de Páginas: " + meusLivros[i].getEditora()
                    + "\nEditora: " + meusLivros[i].getPaginas()
                    + "\n\n");




        }
    }
}

}
[/code]


Classe Livro

[code]package atividade3;

/**
*

  • @author yracler
    */
    public class Livro {

    public String titulo;
    public Autor[] autores = new Autor[5];
    public String isbn;
    public int paginas;
    public String editora;

//operacoes

public Livro(){

}

//construtor personalizado

public Livro (String titulo, String isbn, int paginas, String editora){

// inicializa o objeto Livro

this.titulo = titulo;
//this.autores =  Autor;
this.isbn = isbn;
this.paginas = paginas;
this.editora = editora;

}

public void adiciona (Autor autores){
for (int i = 0; i <this.autores.length; i++){
if(this.autores == null){
//this.autores = autores;
}
}
}

/**
 * @return the titulo
 */
public String getTitulo() {
    return titulo;
}

/**
 * @param titulo the titulo to set
 */
public void setTitulo(String titulo) {
    this.titulo = titulo;
}

/**
 * @return the isbn
 */
public String getIsbn() {
    return isbn;
}

/**
 * @param isbn the isbn to set
 */
public void setIsbn(String isbn) {
    this.isbn = isbn;
}

/**
 * @return the paginas
 */
public int getPaginas() {
    return paginas;
}

/**
 * @param paginas the paginas to set
 */
public void setPaginas(int paginas) {
    this.paginas = paginas;
}

/**
 * @return the editora
 */
public String getEditora() {
    return editora;
}

/**
 * @param editora the editora to set
 */
public void setEditora(String editora) {
    this.editora = editora;
}

}
[/code]

Olá.

Aparentemente, o erro está entre as linhas 72 e 86. Você está setando os valores corretamente no objeto, mas não está reservando a lista de objetos criados em lugar nenhum.

Att.

Que tal usar um arrayList ?

http://www.athanazio.com/2006/09/06/usando-arraylist-e-vector/

Se o link nao foi o suficiente para vc aprender,
pesquise aqui no forum,
tem muito material legal
:smiley:

ahh
o erro está aqui

   listaLivros = new  String [quantidade]; 

ele é do tipo String e você ta tratando ele como objeto lá na frente:

OptionPane.showMessageDialog(null, "O " + (i + 1) + "º Livro é: " + listaLivros[i].getTitulo()