[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.
classBiblioteca{publicstaticvoidmain(String[]args){Livrolivro=newLivro();livro.setQuantidadeDeLivros(Short.parseShort(JOptionPane.showInputDialog("Digite a quantidade de livros que deseja salvar: ")));Livro[]livros=newLivro[livro.getQuantidadeDeLivros()];for(inti=0;i<livro.getQuantidadeDeLivros();i++){livros[i]=newLivro();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(LivrolivroCorrente:livros){livroCorrente.exibir();}procurar();}// FAZER UM MÉTODO AQUI FORA.publicstaticvoidprocurar(){//Livro livro = new Livro();Integervalor=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do ISBN que quer chamar: "));for(inti=0;;i++){}}
publicclassLivro{//..Atributos e Métodos.....@OverridepublicStringtoString(){Stringvalor="ISBN: "+this.isbn+"\nTítulo: "+this.titulo+"\nAutor: "+this.autor+"\nQtd. Páginas: "+this.quantidadeDePaginas;returnvalor;}publicvoidexibir(){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:
publicclassLivro{//..Atributos e Métodos.....@OverridepublicStringtoString(){Stringvalor="ISBN: "+this.isbn+"\nTítulo: "+this.titulo+"\nAutor: "+this.autor+"\nQtd. Páginas: "+this.quantidadeDePaginas;returnvalor;}publicvoidexibir(){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:
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:
publicstaticvoidprocurar(Livro[]livros){Integervalor=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do ISBN que quer chamar: "));for(inti=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:
publicclassLivro{//..Atributos e Métodos.....@OverridepublicStringtoString(){Stringvalor="ISBN: "+this.isbn+"\nTítulo: "+this.titulo+"\nAutor: "+this.autor+"\nQtd. Páginas: "+this.quantidadeDePaginas;returnvalor;}publicvoidexibir(){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:
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:
publicclassLivro{//..Atributos e Métodos.....@OverridepublicStringtoString(){Stringvalor="ISBN: "+this.isbn+"\nTítulo: "+this.titulo+"\nAutor: "+this.autor+"\nQtd. Páginas: "+this.quantidadeDePaginas;returnvalor;}publicvoidexibir(){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:
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…