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 :

Probleme code barycentre; type agrégé


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Probleme code barycentre; type agrégé
    Bonjour a tous,

    Voilà, j'ai un soucis à coder sur Eclipse...
    J'essaye de faire un exercices sur le calcul du barycentre de point 3D.
    Donc pour ça j'ai fais une fonction générant un tableau de x points sur 3 lignes (lignes 1 = x ; ligne 2 =y; ligne 3 =z).
    Ensuite j'ai généré une fonction à 3 composantes x,y,z (type agrégé)
    et après je suis bloqué...

    Eclipse n'est pas d'accord pour attribué x à x + la valeurs dans la ligne...

    Vous pourriez m'aider ?

    En dessous le bout du programme que j'ai (essayé) de faire (en vert, c'est les lignes où Eclipse signifie une erreur...)


    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
        static class Sof { 
        		int x = 0;
        		int y = 0;
        		int z = 0; } 
        
    	private static void main(String[] args) {
    	     int n = 3, m = 100;
    	     int mat [][] =  matriceMin(n,m);
    	     Sof x = new Sof() ; 
    	     Sof y = new Sof() ; 
    	     Sof z = new Sof() ; 
    	     
    	      for (int  i =0 ; i < mat.length ; i++) {
    	    	  	x = x + mat[i][0] ; 
    	    	  	y = y + mat[i][1] ; 
    	    	  	z = z + mat[i][2];  
    
                            }
    PS : Je profite de ce poste pour vous demander si vous connaissez des sites où il y a des exemples simple et complet ? pour m'entrainer...


    Merci et bonne journée !

  2. #2
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    Citation Envoyé par Doble Voir le message
    Eclipse n'est pas d'accord pour attribué x à x + la valeurs dans la ligne...
    C'est pas specialement Eclipse IDE qui n'est pas d'accord, mais Java. Ton code n'est pas bon, et si tu fais `javac Chose.java`, tu verras les memes erreurs.
    Ces erreurs, justement, qu'il faut lire en detail et chercher a comprendre. Dire ca ne marche pas sans mentionner le message d'erreur ca avance pas a grand chose.
    En l'occurence, dans ce cas, tu appelles l'operateur "+" sur x,y,z qui sont des objets de type Sof. Java ne te permet pas d'utiliser ce genre d'operateur sur des objets, et je ne pense pas que tu veuilles vraiment faire la somme d'un Sof (qui est grosso modo un vecteur ou une position) et d'un nombre, par contre modifier l'un des ses membres, peut-etre...
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  3. #3
    Membre du Club
    Homme Profil pro
    Chercheur d'Emploi
    Inscrit en
    Février 2017
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'Emploi

    Informations forums :
    Inscription : Février 2017
    Messages : 86
    Points : 65
    Points
    65
    Par défaut
    Sur ces 3 lignes tu as voulu modifier les INT x y et z de la classe Sof c'est bien ça ? Si c'est le cas je pense qu'en nommant tes 3 sof Sof1 Sof2 et Sof3 tu comprendras d'ou vient le probleme.

    Car en l'occurence x y et z sont les 3 objets Sof que tu as crée juste au dessus et pas les INT de leur classe de base.

    Essayes d'être plus explicite quand tu nommes tes variables et tes objets. Avec une lettre tu t'y perds vite, encore plus quand tu choisis les 3 mêmes dans chaque classe


    Sinon ici si tu veux changer le x de ton objet Sof appellé x tu dois faire x.x = nouvellevaleur. et pas x = nouvellevaleur. Ou Sof1.x = nouvellevaleur avec des noms plus explicites.



    Et si jamais tu veux bel et bien utiliser des operateurs sur tes objets il te faut créer des méthodes dans ta classe Sof et les utiliser a la place des operateurs. Exemples:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Sof plus(int value2) {
            Sof temp = new Sof(this.x, this.y, this.z);
            temp.x += value2;
            temp.y += value2;
            temp.z += value2;
            return temp;
        }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public Sof plus(Sof value2) {
            Sof temp = new Sof(this.x, this.y, this.z);
            temp.x += value2.x;
            temp.y += value2.y;
            temp.z += value2.z;
            return temp;
        }

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/08/2007, 08h33
  2. [DLL] Probleme avec le Type TRichEdit !
    Par TOTO32 dans le forum Langage
    Réponses: 2
    Dernier message: 03/08/2005, 20h50
  3. Probleme code asm dans .c
    Par sorry60 dans le forum C
    Réponses: 5
    Dernier message: 18/04/2005, 13h15
  4. Réponses: 2
    Dernier message: 30/08/2004, 14h48
  5. [langage] probleme code
    Par louisis dans le forum Langage
    Réponses: 5
    Dernier message: 30/06/2004, 17h43

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