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.
[code]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++){
}
}[/code] >
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());
}
[quote=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());
}
[/quote]
Rodou cara, vlw…
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
}
}
}
[quote=Scobar20][quote=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());
}
[/quote]
Rodou cara, vlw…[/quote]
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.
[quote=guilherme.dio][quote=Scobar20][quote=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());
}
[/quote]
Rodou cara, vlw…[/quote]
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.[/quote]
Blz cara, vou tentar aqui…vlw
[quote=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
}
}
}
[/quote]
Deu certo também cara, só mudei algumas coisinhas de acordo com o que eu precisava e boa…
Vlw…