Quero guardar em uma HASHTABLE um grupo de alunos com os seguintes atributos(codigo, nome, fone, email), como faço isso? A hash não ta aceitando inserir.
Obrigado!
Quero guardar em uma HASHTABLE um grupo de alunos com os seguintes atributos(codigo, nome, fone, email), como faço isso? A hash não ta aceitando inserir.
Obrigado!
Um HashMap associa uma chave a um valor. Por exemplo, você poderia associar um aluno a sua matrícula:
Map<Integer, Aluno> alunos = new HashMap<Integer, Aluno>();
alunos.put(1242, jose);
alunos.put(4311, pedro);
alunos.put(2314, hugo);
alunos.put(2114, julio);
alunos.put(6521, amanda);
Se vc só quer guardar alunos, sem associa-los a nada, use um List ou um Set no lugar.
OK, que conseguir inserir! mas como guardo o restante dos atributos como fone e email?
OK, que conseguir inserir! mas como guardo o restante dos atributos como fone e email?
guarde-os dentro da sua propria classe Aluno!
[color=blue][b]Exato…
Eh mais facil vc criar uma classe aluno e colocar os atributos codigo, nome, fone, email e captura os mesmos com getters e setters correspondentes,
Dai para guardar na Hashtable vc guarda um objeto Aluno e uma chave à sua escolha…
vlw,
[/b][/color]
Obrigado, agora o objeto que eu vou guardar na hashtable é a referência ao objeto aluno que é um objeto remoto, eu tô sem o código aqui, mas vou posta meu código para vc’s entenderem.
Tu vai trafegar com ele na rede?Vai ter “alguem” esperando e recebê-lo formatado(um cliente de email por exemplo)?Vc poderia usar algo como o XStream…mas poste o código para entendermos melhor o que vc quer.
Quero guardar em uma HASHTABLE um grupo de alunos com os seguintes atributos(codigo, nome, fone, email), como faço isso? A hash não ta aceitando inserir.Obrigado!
tambem estou com esse mesmo problema… ai em baixo vai o codigo q fiz para tentar guardar os quatros atributos… gostaria d contar com a ajuda d v6 para v ond eu estou errando!
att. marcelo cardoso
package sad.rmi;
import java.rmi.<em>;
import java.rmi.server.</em>;
import java.util.*;
public class BDAcadImpl implements BDAcad {
Hashtable sistema;
public BDAcadImpl() throws RemoteException {
super();
sistema = new Hashtable();
try {
sistema.put("001", "antonio", "3241-1899", "[email removido]");
sistema.put("002", "bruna","8855-8723", "[email removido]");
}
catch (NullPointerException e) {
e.printStackTrace();
}
}
public String consulta(String codigo)
throws AlunoNaoCadastrado, RemoteException {
if (sistema.containsKey(codigo))
return (String)sistema.get(codigo);
else
throw new AlunoNaoCadastrado(codigo);
}
public void adicionaAluno (String codigo, String nome, String telefone, String Email)
throws AlunoJaCadastrado, RemoteException {
if (sistema.containsKey(codigo))
throw new AlunoJaCadastrado(codigo);
else
sistema.put(codigo, nome, telefone, Email);
}
public void excluiAluno (String codigo)
throws AlunoNaoCadastrado, RemoteException {
if (sistema.containsKey(codigo)==false)
throw new AlunoNaoCadastrado(codigo);
else
sistema.remove(codigo);
}
public void alteraAluno (String codigo, String nome, String telefone, String Email)
throws alunoNaoCadastrado, RemoteException {
if (sistema.containsKey(codigo)==false)
throw new AlunoNaoCadastrado(codigo);
else {
sistema.remove(codigo);
sistema.put(codigo, nome, telefone, Email);
}
}
}
Não estou conseguindo fazer o cliente conversar com o servidor, também passar a referência do objeto aluno na hashtable do cliente, abaixo segue meu código para análise.
***************** Interface* ********************
package InterfaceAluno;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
*
* @author SILVA JÚNIOR
*/
public interface RepAluno extends Remote {
Alunoj incluiAluno(String codigo, String nome, String telefone, String email)
throws AlunoJaCadastrado, RemoteException;
Alunoj obtemAluno(String codigo) throws AlunoInexistente, RemoteException;
Alunoj excluiAluno(String codigo) throws AlunoInexistente, RemoteException;
}
************** IMPLEMENTAÇÃO***********
package ImplementaRepAluno;
import java.rmi.RemoteException;
import java.util.Hashtable;
import InterfaceAluno.AlunoInexistente;
import InterfaceAluno.AlunoJaCadastrado;
import InterfaceAluno.Alunoj;
import InterfaceAluno.RepAluno;
public class RepAlunoImpl implements RepAluno {
Hashtable aluno;
public RepAlunoImpl() throws RemoteException {
super();
aluno = new Hashtable();
}
public void excluiAluno(String codigo) throws AlunoInexistente,
RemoteException {
if (aluno.containsKey(codigo) == false)
throw new AlunoInexistente(codigo);
else
aluno.remove(codigo);
// TODO Auto-generated method stub
}
public Alunoj incluiAluno(String codigo, String nome, String telefone,
String email) throws AlunoJaCadastrado, RemoteException {
if (aluno.containsKey(codigo))
throw new AlunoJaCadastrado(nome);
else
// aluno.put(codigo, stub);
return null;
}
public Alunoj obtemAluno(String codigo) throws AlunoInexistente,
RemoteException {
// TODO Auto-generated method stub
return null;
}
}
************************ SERVIDOR****************
package ServidorSistAcad;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import ImplementaRepAluno.RepAlunoImpl;
import InterfaceAluno.RepAluno;
public class ServidorRepAluno {
public static void main(String[] args) {
Registry registry = null;
RepAlunoImpl repAlunoImpl = null;
RepAluno repAluno = null;
try {
repAlunoImpl = new RepAlunoImpl();
repAluno = (RepAlunoImpl) UnicastRemoteObject.exportObject(
repAlunoImpl, 0);
registry = LocateRegistry.getRegistry();
registry.bind(" RepAluno", repAluno);
} catch (Exception e) {
try {
registry = LocateRegistry.createRegistry(1099);
registry.rebind("RepAluno", repAluno);
} catch (RemoteException e1) {
e1.printStackTrace();
}
}
************************* CLIENTE ************************
package InterfaceAluno;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Alunoj {
public static void main(String[] args) {
try {
/*
* if (args.length != 1) { System.out.println("Uso: java
* ClienteBDCotacoes <hostname>"); return; }
*/
//String ip = "localhost";
//String servico = "RepAluno";
Registry registry = LocateRegistry.getRegistry("localhost");
RepAluno rep = (RepAluno) registry.lookup("RepAluno");
Alunoj a = rep.incluiAluno("200", "JR", "88", "sdf@");
System.out.print(a.get_nome());
} catch (Exception e) {
e.printStackTrace();
}
}
private Object get_nome() {
return null;
}
}
Aguardo comentários, obrigado!