jonathan100
Messages postés39Date d'inscriptionjeudi 23 janvier 2003StatutMembreDernière intervention 3 juin 2003
-
3 juin 2003 à 11:10
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 2004
-
3 juin 2003 à 12:23
Bonjour à tous :) ,
Voici mon problème. J'ai le tableau "the_packet" qui contient des données du type "DatagramPacket". Je voudrais connaitre l'adresse de type "InetAddress" qui revient le plus souvent dans le tableau. C'est le but de la fonction suivante:
public String retour_adresse()
{
Hashtable tab_adr = new Hashtable();
InetAddress adr_finale;
int cpt_final = 0;
String h="";
Enumeration mes_elements;
Integer n=new Integer(0);
tab_adr.clear();
for(int i=0;i<=ma_liste.nombreDonnee();i++)
{
//n = (Integer)tab_adr.get(the_packet[i].getAddress()); //test pour vérifier si la clé est deja présente dans la hashtable
if(n!=null)
{
int tampon = n.intValue(); //transformation de "Integer" à "int"
tampon++; // on incrémente cette valeur
Integer z = new Integer(tampon);
//tab_adr.put(the_packet[i].getAddress(), z); //on remplace la valeur de la clé
}
else
{
tab_adr.put(the_packet[i].getAddress(), new Integer(1)); // on crée une nouvelle clé
}
}
for(mes_elements = tab_adr.elements(); mes_elements.hasMoreElements();) //boucle cherchant la valeur max du compteur
{
Object r = mes_elements.nextElement();
h = r.toString();
}
return h;
}
Cependant les deux lignes mises en commentaire posent problème. Elles ne génèrent pas d'erreur lors de la compilation, mais en provoque lorsque je construit l'exécutable .jar.
Je voudrais déjà savoir quelle est la différence entre le type "int" et le type "Integer"? Par exemple on ne peut pas incrémenter une valeur de type "Integer"... L'erreur vient peut-être de là... :blush)
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 200411 3 juin 2003 à 12:23
salut,
Integer est un objet un "wrappeur" (enveloppeur) qui permet de manipuler des int qui eux sont des primitives (pas des objets donc pas de methodes ni d attributs)
il faut donc que tu incrémente le int contenu dans ton Integer :
new Integer(tonInteger.intValue() + 1)
par exemple
Duss