IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème de conditions et retours de fonctions


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 34
    Par défaut Problème de conditions et retours de fonctions
    Bonjour,

    Je débute en java, plus par nécessite que par plaisir mais ce n'est pas inintéressant au final
    J'ai un projet au lycée de supervision d'un système via Ethernet/wifi. (pour info PIC + ENC28J60)
    Je le piloterai avec un programme java avec des datagrammes udp. (un nombre de 0 à 99 me suffira amplement pour communiqué d'où la limitation à 2 bytes en réception)

    Mon début de programme :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    import java.net.*;
    import java.io.*;
     
    public class udp {
     
    	static int port=2011; // Le port UDP de destination
    	static int port2=2010; // Le port UDP local
    	static InetAddress adr=null;
    	static DatagramSocket sock=null;
    	static String message="Test";
    	static byte[] tampon=new byte[message.length()];
     
    	static boolean send(String message) throws IOException{
    		adr=InetAddress.getByName("127.0.0.1");
    		tampon=message.getBytes();
    		DatagramPacket paquet=new DatagramPacket(tampon,tampon.length,adr,port);
    		sock=new DatagramSocket();
    		sock.send(paquet);	
    		return true;
    	}
     
    	static String receive() throws IOException{
    		tampon=new byte[2];
    		String message2;
    		DatagramSocket sock=new DatagramSocket(port2);
    		DatagramPacket paquet=new DatagramPacket(tampon,tampon.length);
    		sock.receive(paquet);
    		message2=new String(tampon);
    		System.out.println(message2);
    		return message2;
    	}
    	public static void main(String[] args) throws IOException, SocketException
    	{
    		send("00");
    		if(receive()=="00") System.out.println("ok");		
    		else System.out.println("pas ok");
     
    	}
    }
    Mon problème : bien que la console recoit la valeur "00", il me marque "pas ok".

    Pourriez vous m'aider ?

    Merci d'avance !

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Par défaut
    Bonsoir,

    Essaye
    public static void main(String[] args) throws IOException, SocketException
    {
    send("00");
    if(receive().equals("00")){ System.out.println("ok");}
    else
    { System.out.println("pas ok");}

    }

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 34
    Par défaut
    Bonsoir,

    Merci de ta réponse.

    Par contre ça ne change rien du tout, enfin c'est un peu logique, parce qu'au niveau syntaxe il n'y a pas de problème je pense.

    Non le problème vien d'autre part vu que si je mets un
    sur ma fonction tout marche correctement.

    Merci d'avance !

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 34
    Par défaut
    J'ai rien dit

    Merci beaucoup ça fonctionne !

    Par contre pourrais tu me donner une petite explication ?
    Qu'apporte la fonction equals par rapport au "==" ?

    Merci

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Par défaut
    string1.equals(String string2) compare les caractères unicode dans les chaines string1 et string2 un à un.
    L'opérateur == compare les références en mémoire des deux objets String string1 et string2. Ce n'est pas la même chose.
    Pour comparer deux chaines de caractères il faut employer equals().

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 34
    Par défaut
    Ok merci pour l'explication

    Le Php est tellement plus simple
    Faut que je creuse un peu plus ce langage ! Bon apparemment il a l'air un peu moins embêtant que le C, enfin va savoir, tous se ressemblent... ^^

    Encore merci et a bientôt !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] AJAX de condition après retour de resultat
    Par gentil2005 dans le forum AJAX
    Réponses: 4
    Dernier message: 03/07/2012, 16h23
  2. [BASH] Problème de retour de fonction
    Par jovic dans le forum Linux
    Réponses: 3
    Dernier message: 24/09/2009, 16h49
  3. Problème avec valeur de retour d'une fonction
    Par ouranos21 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 20/01/2009, 08h52
  4. problème de retour de fonction
    Par guiyomh dans le forum Débuter
    Réponses: 9
    Dernier message: 05/10/2008, 12h35
  5. Réponses: 11
    Dernier message: 25/03/2008, 23h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo