[RESOLVIDO] chamar valores através de solicitação ao usuario. OO

6 respostas
Scobar20

Bom dia pessoal,

Alguém poderia me ajudar, preciso fazer um método que receba um valor, de um livro por exemplo, e exiba assim todos os dados deste livro.
Tenho a classe livro, com get e set conforme os atributos que o for está setando.

class Biblioteca{
	public static void main( String[] args){
		Livro livro = new Livro();
		livro.setQuantidadeDeLivros( Short.parseShort(JOptionPane.showInputDialog("Digite a quantidade de livros que deseja salvar: ")));
		
		Livro[] livros = new Livro[livro.getQuantidadeDeLivros()];
		
		for(int i=0; i<livro.getQuantidadeDeLivros(); i++){
			livros[i] = new Livro();
			livros[i].setIsbn(Integer.parseInt(JOptionPane.showInputDialog( "Digite o ISBN do livro "+ (i+1) +": ")));
			livros[i].setTitulo(JOptionPane.showInputDialog( "Digite o titulo do livro "+ (i+1) +": "));
			livros[i].setAutor(JOptionPane.showInputDialog( "Digite o nome do autor do livro "+ (i+1) +": "));
			livros[i].setQuantidadeDePaginas(Short.parseShort(JOptionPane.showInputDialog( "Digite a quantidade de paginas do livro "+ (i+1) +": ")));
		}
		
		for( Livro livroCorrente : livros ){
			livroCorrente.exibir();
		}
		
		procurar();
	}
	
	// FAZER UM MÉTODO AQUI FORA.
	public static void procurar(){
		//Livro livro = new Livro();
		Integer valor = Integer.parseInt(JOptionPane.showInputDialog( "Digite o valor do ISBN que quer chamar: " ));
		for(int i=0;  ; i++){
	}
}
>

6 Respostas

guilherme.dio

Simplesmente faça isso dentro da classe Livro:

public class Livro
{
   //..Atributos e Métodos.....

   @Override
   public String toString()
  {
      String valor = "ISBN: "+this.isbn
                         +"\nTítulo: "+this.titulo
                         +"\nAutor: "+this.autor
                         +"\nQtd. Páginas: "+this.quantidadeDePaginas;
      return valor;
  }

  public void exibir()
 {
      System.out.println(this.toString());
 }
}

O Método toString é membro da classe Object, que é a super class de todas as classes, e serve justamente para retornar a descrição dos campos de uma classe.

Você também poderia fazer isso, ao invez de criar o método exibir em Livro:

]for( Livro livroCorrente : livros ){  
            System.out.println(livroCorrente.toString());
        }
Scobar20

guilherme.dio:
Simplesmente faça isso dentro da classe Livro:

public class Livro
{
   //..Atributos e Métodos.....

   @Override
   public String toString()
  {
      String valor = "ISBN: "+this.isbn
                         +"\nTítulo: "+this.titulo
                         +"\nAutor: "+this.autor
                         +"\nQtd. Páginas: "+this.quantidadeDePaginas;
      return valor;
  }

  public void exibir()
 {
      System.out.println(this.toString());
 }
}

O Método toString é membro da classe Object, que é a super class de todas as classes, e serve justamente para retornar a descrição dos campos de uma classe.

Você também poderia fazer isso, ao invez de criar o método exibir em Livro:

]for( Livro livroCorrente : livros ){  
            System.out.println(livroCorrente.toString());
        }

Rodou cara, vlw…

cogumello

Para conseguir consultar os livros cadastrados, como ele foi instanciado dentro do main, você precisará passar array ao método procurar:

procurar(livros);

Depois é só completar o for no método procurar:

public static void procurar(Livro[] livros){  
        Integer valor = Integer.parseInt(JOptionPane.showInputDialog( "Digite o valor do ISBN que quer chamar: " ));  
        for(int i=0; i<livros.lenght ; i++){ 
                 if(livros[i].getIsbn() == valor){
                        // aqui você mostra as informações do livro
                }
        }
}
guilherme.dio

Scobar20:
guilherme.dio:
Simplesmente faça isso dentro da classe Livro:

public class Livro
{
   //..Atributos e Métodos.....

   @Override
   public String toString()
  {
      String valor = "ISBN: "+this.isbn
                         +"\nTítulo: "+this.titulo
                         +"\nAutor: "+this.autor
                         +"\nQtd. Páginas: "+this.quantidadeDePaginas;
      return valor;
  }

  public void exibir()
 {
      System.out.println(this.toString());
 }
}

O Método toString é membro da classe Object, que é a super class de todas as classes, e serve justamente para retornar a descrição dos campos de uma classe.

Você também poderia fazer isso, ao invez de criar o método exibir em Livro:

]for( Livro livroCorrente : livros ){  
            System.out.println(livroCorrente.toString());
        }

Rodou cara, vlw…

A, e tem um detalhe interessante sobre o println:

System.out.println(livro);

Faça isso, e verá que mesmo assim, o livro aparecerá descrito na saída do console ! justamente porque o println chama o método toString quando recebe um Object de parametro.

Scobar20

guilherme.dio:
Scobar20:
guilherme.dio:
Simplesmente faça isso dentro da classe Livro:

public class Livro
{
   //..Atributos e Métodos.....

   @Override
   public String toString()
  {
      String valor = "ISBN: "+this.isbn
                         +"\nTítulo: "+this.titulo
                         +"\nAutor: "+this.autor
                         +"\nQtd. Páginas: "+this.quantidadeDePaginas;
      return valor;
  }

  public void exibir()
 {
      System.out.println(this.toString());
 }
}

O Método toString é membro da classe Object, que é a super class de todas as classes, e serve justamente para retornar a descrição dos campos de uma classe.

Você também poderia fazer isso, ao invez de criar o método exibir em Livro:

]for( Livro livroCorrente : livros ){  
            System.out.println(livroCorrente.toString());
        }

Rodou cara, vlw…

A, e tem um detalhe interessante sobre o println:

System.out.println(livro);

Faça isso, e verá que mesmo assim, o livro aparecerá descrito na saída do console ! justamente porque o println chama o método toString quando recebe um Object de parametro.

Blz cara, vou tentar aqui…vlw

Scobar20

cogumello:
Para conseguir consultar os livros cadastrados, como ele foi instanciado dentro do main, você precisará passar array ao método procurar:

procurar(livros);

Depois é só completar o for no método procurar:

public static void procurar(Livro[] livros){ Integer valor = Integer.parseInt(JOptionPane.showInputDialog( "Digite o valor do ISBN que quer chamar: " )); for(int i=0; i<livros.lenght ; i++){ if(livros[i].getIsbn() == valor){ // aqui você mostra as informações do livro } } }

Deu certo também cara, só mudei algumas coisinhas de acordo com o que eu precisava e boa…
Vlw…

Criado 6 de julho de 2012
Ultima resposta 6 de jul. de 2012
Respostas 6
Participantes 3