hoje minha duvida é um pouco mais complicada(pelo menos para mim), é que eu tava fazendo um pograma que gere uma biblioteca e na parte da requisição surgiu um problema, problema esse que está no relacionamento do hashmao<string, livro>(a string é um código do livro) e do outro hashmap<string, aluno>(a string é um codigo tb e o aluno é o utente)
public void RequisitarLivro()
{
String code;
String code1;
int op;
System.out.println("Insira o código do livro: ");
code=Input.lerString();
if( !mapLivro.containsKey(code) ){
System.out.println("Erro!!! Não existe nenhum livro com esse código!");
Main.MenuPrincipal();}
else{
System.out.println("Pretende requisitar o livro"+mapLivro.get(code)+"da biblioteca??");
System.out.println("Se não digite 3, caso contrario digite outro numero\n");
op=Input.lerInt();
if(op==3)
Main.MenuPrincipal();
else{
System.out.println("Insira o código de utente");
code1=Input.lerString();
if( !mapAluno.containsKey(code1) ){
System.out.println("Aluno não encontrado");
Main.MenuPrincipal();}
//else
//Aqui deveria ser qualquer coisa a relacionar o utente com o livro a requisitar
}
}
}
postem aí qlq coisa que minha cabeça não dá mais por hoje…
Pensa assim, quem vai emprestar o livro?! o aluno certo?! então o aluno empresta o livro… ele tem um método que empresta livro então logo o parâmetro é do tipo livro.
E ai o que seria o aluno emprestar o livro?! ai é a implementação desse método, pode ser cadastrar um emprestimo no banco de dados ou incluir o livro numa lista de livros emprestados pelo aluno, etc, isso depende dos requisitos da sua aplicação.
Até mesmo essa de o aluno empresta um livro, tem gente que pode ver isso como: o livro que é emprestado e não o aluno que empresta, ai pode ter ao inves de um método no aluno, um método no livro do tipo: “emprestarParaAluno(Aluno a)”
A analise do seu sistema não é uma coisa “exata”, não existe uma receita, uma formula certa, existe sim praticas boas, mas nada que diga 100% que tem que ser assim, não tem como eu te dizer como livro e aluno vão se ligar, isso depende dos requisitos, da sua analise.
entende?
sobre o HashMap, vc sabe o que faz um Map?! ele é tipo um indexador, vc tem la dentro um monte de alunos, e ele vai buscar esses alunos de acordo com uma chave, no caso o nome dele. Quando vc da get no Map, o aluno ligado aquela chave vai vir… essa parte eu acho que esta correta, e ai dentro de Aluno vc pode ter uma lista de livros emprestados por ele, ai sim poderia ser um ArrayList