[JAVA] cannot find symbole

Résolu/Fermé
john93 - 20 mars 2008 à 09:08
 john93 - 20 mars 2008 à 09:53
Bonjour,
Je suis ici car j'ai un petit souci au niveau de ma classe en java
quand je veu tester mon source il me dis cannot find symbole ou il y a le texte souligner dans le code suivant :

_______________________________________________________________________________________

package client_test;
import java.net.*;
import java.lang.*;
import java.net.InetAddress;

/**
*
* @author Propriétaire
*/
public class Com {

public InetAddress adresse;
public DatagramSocket socket;
public DatagramPacket packet;
public String requette, reponse;

public Com(){}

public void initCom(String str, int type)
{
if(type == 0)
adresse = new InetAddress.getByName(str);

socket = new DatagramSocket(11165);
}

public void sendCom(String str)
{
requette = str;
byte[] buffer = new byte[256];
buffer = requette.getBytes();
packet = new DatagramPacket(buffer,buffer.length,adresse,11165);
socket.send(packet);
}

public String recptCom(int type)
{
byte[] buffer = new byte[256];
packet = new DatagramPacket(buffer,buffer.length);
socket.receive(packet);

if(type == 1)
adresse = packet.getAddress();

reponse = new String(packet.getData());

return reponse;
}

public int cmpCom(String str1, String str2)
{
if(str1.compareTo(str2) == 0)
{
System.out.println(str2);
return 0;
}
else
{
System.out.println("les deux chaine sont differente");
return -1;
}
}

public void exitCom()
{
socket.close();
}

}
________________________________________________________________________________________

merci pour toute reponses.
A voir également:

4 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
20 mars 2008 à 09:14
Bizarre effectivement, d'autant plus que le package correspondant semble correctement inclu. D'après http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html :
static InetAddress 	getByName(String host)
          Determines the IP address of a host, given the host's name.

Je ne suis pas experte en java mais vérifie que ce n'est pas le static qui peut poser problème (a priori je ne vois pas trop pourquoi vu que tu appelles le constructeur par copie).

Bonne chance
0
Pour info je prog sur IDE 6.0.1 de chez NetBeans
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
20 mars 2008 à 09:31
Ton programme corrigé :
- pense à rattraper les exceptions.
- import java.lang.*; provoque une erreur de compilation
- pas de public devant class
package client_test;
import java.net.*;
//import java.lang.*; // ne peut pas être importé
import java.net.InetAddress;
import java.io.*; // pour les exceptions

/**
* @author Propriétaire
*/
class Com {

    public InetAddress adresse;
    public DatagramSocket socket;
    public DatagramPacket packet;
    public String requette, reponse;

    public Com(){}

    public void initCom(String str, int type){
        if(type == 0){
            try{
                adresse = InetAddress.getByName(str);
            }catch(UnknownHostException e){
                System.out.println(e.getMessage());
            }
        }
        try{
            socket = new DatagramSocket(11165);
        }catch(SocketException e){
            System.out.println(e.getMessage());
        }
    }

    public void sendCom(String str){
        requette = str;
        byte[] buffer = new byte[256];
        buffer = requette.getBytes();
        packet = new DatagramPacket(buffer,buffer.length,adresse,11165);
        try{
            socket.send(packet);
        }catch(IOException e){
            System.out.println(e.getMessage());
        }
    }

    public String recptCom(int type){
        byte[] buffer = new byte[256];
        packet = new DatagramPacket(buffer,buffer.length);
        try{
            socket.receive(packet);
        }catch(IOException e){
            System.out.println(e.getMessage());
        }
        if(type == 1)
            adresse = packet.getAddress();
        reponse = new String(packet.getData());
        return reponse;
    }

    public int cmpCom(String str1, String str2){
        if(str1.compareTo(str2) == 0){
            System.out.println(str2);
            return 0;
        }else{
            System.out.println("les deux chaines sont differentes");
            return -1;
        }
    }

    public void exitCom(){
        socket.close();
    }
}

Bonne chance
0
Merci pour l'aide normalement tout fonctionne bien.

Je voudrais savoir une chose, vu que je suis débutant et que les je connais pas encore très bien à quoi correspond
les Exception pourai-tu m'indiquer un site parlant de celle-ci stp.
0
Je retire mon ancien Topic je viens de regarder dans la documentation de "getByName" et je me suis rendu compte que les exceptions étaient écrite dedans.

Mais si je comprend bien celle-ci servent à gérer les erreurs ?
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
20 mars 2008 à 09:48
Oui une exception se déclenche quand un paramètre de fonction est invalide. Il faut alors la rattraper avec un bloc try catch pour rattraper l'erreur et faire un traitement particulier. En l'occurrence je me suis juste contentée d'afficher le message d'erreur.

Je t'invite à lire un tutoriel java pour plus de détails.

Bonne chance
0
Merci pour l'aide apporter je vais mettre se Topic comme étant résolu.
0