[JAVA] cannot find symbole

Résolu
john93 -  
 john93 -
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 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
john93
 
Pour info je prog sur IDE 6.0.1 de chez NetBeans
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
john93
 
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
john93
 
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 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
john93
 
Merci pour l'aide apporter je vais mettre se Topic comme étant résolu.
0